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だけはデータベースに接続可能な状態でないと出力できません。