CakePHP1.2でbake
CakePHPでは、対話形式で初期ファイルを生成してくれるbakeというコマンドがあります。
実は、「CakePHPガイドブック」を見ながらbakeしてみようと思ったらCakePHP1.2では随分勝手が違うことが判明。
ちょっと焦りつつも検索してみると、いつもお世話になっている「CakePHP のおいしい食べ方」にありました。
[1.2]Easy Bake on Windows: CakePHP のおいしい食べ方
こちらを参考に早速bake開始。
1.コマンドプロンプトでconsoleフォルダに移動
>cd c:/cakefolder/cake/console
2.PATHを追加
>SET PATH=%PATH%;%CD%
3.cakefolderに戻る
>cd ../..
4.出力先フォルダに移動
>cd app
5.bake開始
>cake bake
ただし、これだけではcakeを解凍展開したときとあまり変わらないので、/app/config/database.phpを設定してから更にbakeを続けます。
database.phpはdatabase.php.defaultをリネーム(またはコピーしてリネーム)して作成し、接続先のDBに合わせて書き換えます。
例えばこんな感じ。
var $default = array( 'driver' => 'mysql', 'connect' => 'mysql_connect', 'host' => 'localhost', 'login' => 'cake', 'password' => 'cakepasswd', 'database' => 'cakedb', 'prefix' => '' );
databese.phpの設定が終わったら、Faster baking with bake - cakebakerを参考に、パラメータを指定してbakeを再実行。
例えば、customersテーブルに対してMVCファイルを作成する場合
(PATHの設定は上でしてあるという前提で、すぐにbakeコマンドを発行します)
>cake bake model Customer >cake bake controller Customers >cake bake view Customers
modelとcontrollerはdatabase.phpがなくても出力されますが、viewだけはデータベースに接続可能な状態でないと出力できません。