cakephpのbake
CakePHPによる実践Webアプリケーション開発を参考にしてbakeの気づいた点
まずパスを通す
env.bat を c:\user にでも作っておく
内容としては
cd /d d:\
set PATH=D:\xampp\htdocs\cakephp\cake\console;%PATH%
こんな感じで Dドライブに xampp をインストールしてあるのでドライブを変更しパスを通す
ここでは、cakephp フォルダに cake を解凍してあるので、(1.2.8)その中の console にパスを通すということ
そこでcd d:\xampp\htdocs\cakephp
cake bake project "d:\xampp\htdocs\cakephp\calendarnote" という形で cakephp フォルダに calendarnot という
新しいプロジェクトを作る(ここに cake の必要なプログラムがそのままコピーされるということになる
そこで
dir /w で確認すると calendarnote フォルダが出来ているのがわかる。
cd calendarnote でフォルダを移動し、
cake bake -app calendarnote によって設定していくという流れを確認した
ここでは cake がコマンドで bake がそれを走らせるプログラムということになるかなぁ~多分
だから bake というコマンドは存在しないということになる。
help を参照したい場合
cake bake help とすると bake で使える内容(ここでは -app や project 等が参照できる)が見られる
次に schema を使ったテーブルの作成 これには驚いた!!
にあるchapter-2_2.zip の calendarnote\config\sql\schema.php をcalendarnote\config\sql へコピーし
d:\xampp\htdocs\cakephp>cake schema run create -app calendarnote
を走らせると凄いことが起こった
なんとテーブルが作成されている。
CREATE TABLE `schedules` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`from` datetime NOT NULL,
`to` datetime NOT NULL,
`title` varchar(100) NOT NULL,
`contents` text NOT NULL,
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL, PRIMARY KEY (`id`));
こういう形で schedules テーブルが出来上がっているではないか・・・。凄い
バーチャルホストの説明があるが、通常のままで使用しようと思うので、そのままにした。
d:\xampp\htdocs\cakephp\calendarnote\view\layouts\default.ctp
の
<head>
<?php echo $html->charset("utf-8"); ?>
utf-8 を追加した
これで全てが utf-8 で表示されるという訳
scaffold(足場) を使って表示させるので モデルとコントローラーを bake で作成
cake bake model -app calendarnote
cake bake controller -app calendarnote
という感じで controller のところで出てくるメッセージでscaffold を yes にすると scaffold が作成される