データベースとテーブルができたら、
CakePHPからこのデータベースを利用するように設定を行いましょう。
CakePHPには、データベースにアクセスするための設定情報を記述した専用ファイルが用意されています。
このファイルは、「
app」フォルダ内の「
Config」フォルダ内になる「
database.php」というファイルです。このファイルに、データベースアクセスに関する基本的な設定情報が記述されます。といっても、.php拡張子からもわかるように、これはPHPのスクリプトファイルです。
この中には、データベースの設定を管理する「
DATABASE_CONFIG」というクラスが定義されています。これは、以下のような形で定義されます。
class DATABASE_CONFIG {
public $default = 連想配列;
public $test = 連想配列;
}
$defaultが、デフォルトで使われるデータベース設定になります。
$testは、テスト時に使用される設定です。この
$testは、不要であれば用意しなくても問題ありません。
データベースの設定は、連想配列としてまとめて設定します。用意する項目は、データベースによって多少違いがあります。主なものを以下に整理しておきましょう。
datasource――使用するデータベースの種類を設定します。
MySQLの場合は、
’Database/Mysql’とします。PHPに組み込まれている
SQLiteを使う場合は
’Database/Sqlite’、
PostgreSQLの場合は
’Database/Postgres‘としておきます。
host――
MySQLはデータベースサーバーとして機能しますので、サーバーが動くホストを指定する必要があります。ローカル環境で使うなら、
’localhost’でOKです。
login――データベースにログインするのに用いるユーザー名を指定します。
MySQLがデフォルトのままなら
’root’を指定しておきます。
password――ログイン時のパスワードを指定します。
MySQLがデフォルトのままなら
’’と空のテキストを指定します。
database――使用するデータベース名を指定します。ここでは、先ほど作成した
’MySampleData’を指定しておきます。
encoding――エンコーディングの指定です。データベースとテーブルを作成する際に項目のエンコードを指定してあるなら、これは不要でしょう。ここでは
’utf8’を指定しています。
persistent――これは持続的接続のための設定です。データベースへの負荷が大きくなりますから通常はfalse
にします。
port――接続ポートの指定です。データベースサーバーのデフォルトポート番号のままなら、これは不要です。
prefix――テーブルの頭につける
プレフィクス(接頭辞)を指定するものです。特に指定していなければ用意する必要はありません。
これらはすべて用意する必要があるわけではなく、必要なものだけを連想配列にまとめていきます。
MySQLであれば、
datasource、
host、
login、
password、
databaseの5項目は最低限必要となります。
これらの設定を行って保存したら、Webアプリケーションのルートにアクセスしてみましょう(
cake2というフォルダで
CakePHPが用意されているなら、
http://localhost/cake2/)。
CakePHPの状況が表示されます。ここで一番下の項目に「
Cake is able to connect to the database.」と緑色で表示されていますか? これが現れていれば、無事、
CakePHPからデータベースに接続できています。
※database.php
<?php
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'MySampleData',
'encoding' => 'utf8'
);
}
