「CakePHP2.0を試してみる」の続き。前回はSecurity.saltとSecurity.cipherSeedの設定が終わるところまで書いた。

考えてみると、このへんってCakePHP1.3のころとべつだん変わってないから、いつ本題にたどり着けるのかって感じがしないでもないな。(笑)今んとこ、フォルダ名がCake1.3までとはところどころ変わってて「へえ」と思う、くらいの違和感しかないんですが。多分そのうち何か出てくると思う。
リアルタイムの記事なのでどうぞ大目に(^^;
続いて最後に残った黄色い帯を片付ける。これは帯にある文言の通り、データベース(MySQLとか)への接続を定義するファイルが作られていないよ!という内容です。
これまで問題になった2本の赤帯と違って黄色(警告)止まりなのは、CakePHPはデータベースなしでも動くから。ただ、ちょっと複雑なものを作ろうとするとデータベースが使えた方がやっぱり便利なので、ここでは設定しておくことにします。
帯のとこに書いてある通りにapp/Config/database.php.defaultファイルを改名・・・するのではなく、コピーしてapp/Config/database.phpを作ってみる(前回のbootstrap.phpと同じ考え方で、デフォルトはなるべく残すようにしてます)と、黄色い帯は消えないものの表示内容が変わる。

「(定義ファイルはあるけど)データベースに接続できないよ」、という意味の文言に変わってるのがわかると思います。なので引き続き、
- このサイトで使うデータベースを準備して、
- そのデータベースの設定に従ってdatabase.phpの内容を書き換える、
という作業に取りかかります。
ここでは王道中の王道であるMySQLを使うことにします。というか僕はこれしか使ったことがなXAMPPにも最初から入ってるし。
データベースはXAMPPに入ってるphpMyAdminから作ります。コマンドラインからもやれるらしいけど個人的に詳しくないのでパス。phpMyAdminには、XAMPPがちゃんと動いてれば「http://localhost/phpmyadmin/」からアクセスできるはず。
作成したいデータベース名を入力し(仮に「sample」とします)、「照合順序」には「utf8_general_ci」あたりを選択して送信すると、

さあ早速テーブル(表)を作れ!といわんばかりの画面になってるけどそこはスルーして「特権」タブを開き、「新しいユーザを追加する」リンクをクリック。

「ユーザ名」「パスワード」「もう一度入力してください」の3箇所だけ入力して、だいたい画像の通りになってると思ったら「実行する」を押します。

ユーザー名とパスワードはお好きなように。画像の例では「username」さんとしてみました。パスワードは「password」。
これで、できたばかりのデータベース「sample」に対して、指定のパスワードを使って接続すれば「どんな操作でも」実行できる新規ユーザー「username」さんが作成できたわけです。
あとは、この設定をさっきのCakePHPのdatabase.phpに反映する。
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'database_name',
'prefix' => '',
//'encoding' => 'utf8',
);
を
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'username',
'password' => 'password',
'database' => 'sample',
'prefix' => '',
'encoding' => 'utf8',
);
というような具合に編集して保存します。ここでブラウザ(phpMyAdminじゃなくてCakePHPを開いてる方!)を更新すると、

やっと警告の帯が消えました。これで開発に取りかかれます!
これ、正直なところ書くのはけっこう大変だったし(ボソ)、読むのもちょっと大変だろうけど、実際の作業としては順調にいけば10分もかかりません。大したことないからやってみて。
解説記事って、そうだよな。そういうものだよな。(笑)
できればまた続き書きます。


Pingback: CakePHP2.0 トップページを作る | カラスノウタカタ