3.9 データソース
データソース は、モデルと、モデルが表現しているデータ自体をリンクするものです。通常、データは MySQL, PostgresSQL もしくは MSSQL といったリレーショナルデータベースから取得されます。CakePHP には、あらかじめいくつかの特定のデータベース用のデータソースが用意されています(cake/libs/model/datasources/dbo/ の中にある dbo_* class というファイルです )。以下に列挙します:
- dbo_adodb.php
- dbo_db2.php
- dbo_firebird.php
- dbo_mssql.php
- dbo_mysql.php
- dbo_mysqli.php
- dbo_odbc.php
- dbo_oracle.php
- dbo_postgres.php
- dbo_sqlite.php
- dbo_sybase.php
app/config/database.php の中で利用するデータベースを特定することで、CakePHP はすべてのモデル操作において、自動的にそのデータベースのデータソースを利用します。 したがって、通常は特にデータソースのことを意識しなくても、問題なくモデルを扱うことができます。
上記のソースはすべて、 DboSource というほとんどのリレーショナルデータベースに共通するロジックが書かれた基底クラスから派生しています。もしあなたが RDBMS のデータソースを書きたいときは、これら(例えばdbo_mysql.php や dbo_mssql.php)を元に作成するのがよいでしょう。
しかし、多くの方は、リモートの REST API や、 LDAP サーバといった外部データのデータソース作成に興味があると思います。それでは、これからそのやり方についてみていきましょう。
