CakePHPをローカルで試す
1月 8th, 2008 Posted in cakePHP, PHPPHPのフレームワーク、CakePHPをローカルで試してみました。基本はCakePHP プログラマーズ リファレンスガイドの通りにやればいいんですが、ちょっと気になることなどをメモします。
ローカルの環境はWindows Vistaにxamppを入れています。
- CakePHPのインストール
CakePHPからcake_1.1.18.5850.zipをダウンロード。1.2系はまだbetaっぽいので1.1系で。C:\xampp\htdocsに解凍。
- DBの作成
A.3.ブログデータベースの作成の通りにテーブルとデータを作成。
/app/config/database.php.defaultを/app/config/database.phpにリネームする。/app/config/database.phpの$defaultを作成したDBに併せて変更- <br />
- var $default = array('driver' => 'mysql',<br />
- 'connect' => 'mysql_connect',<br />
- 'host' => 'localhost',<br />
- 'login' => 'ユーザ名',<br />
- 'password' => 'DBパスワード',<br />
- 'database' => 'DB名',<br />
- 'prefix' => '');<br />
ここまででいったんhttp://localhost/cakeにアクセスしてみると、
Your database configuration file is present.
Cake is able to connect to the database.と表示され問題ないことを確認する。
- Modelの作成
A.6.Post Model の作成の通りに/app/models/post.phpを作成する。
- Controllerの作成
A.7.Posts Controller の作成の通りに/app/controllers/posts_controller.phpを作成する。controllerからは$this->PostでModelにアクセスできる。
- Viewの作成
ビューのファイルは、/app/views以下に対応するコントローラにあうフォルダを作成する必要がある。今回はpostsというフォルダを作成する。A.8.Posts Controller の作成の通りに/app/views/posts/index.thtmlを作成する。
とりあえずここでhttp://localhost/cake/posts/indexにアクセスしてみる。んが、文字化け。UTF-8で保存したら文字化けするみたい。Shift-JISで保存すると問題ない。どこかに文字コードの設定があると思うんだけど、また今度調べよう。
続いて/app/controllers/posts_controller.phpにfunction view()を追加。これで投稿された記事を個別に見れるようになる。
さらにA.9.Posts の追加の通りに/app/controllers/posts_controller.phpにfunction add()を追加。フォームデータをPOSTで送信したら、$this->params[form]でフォームに入力されたデータにアクセスできるらしい。htmlヘルパーの$html->inputなどを使ってフォームの内容を送信すると$this->data['モデル']['フィールド名']でアクセスできる。
A.10.データバリデーションの通りに/app/views/posts/add.thtmlを作成し、新規作成画面のviewを作成する。
HtmlHelperの$html->input、$html->textareaの第一引数は対応するモデル/フィールドを指定する。第二引数はフォームの属性などを指定。’size’=>’40′で入力フィールドのサイズに40を指定。
モデル(/app/models/post.php)に$validateを定義することによってsaveが呼ばれたときにフォームからの入力をチェック(validate)することができる。新規作成画面へのリンクを表示するために/app/views/posts/index.thtmlに/posts/addへのリンクを作成。
- < ?php echo $html->link( "新規投稿", "/posts/add" ); ?></p>
- <p>
ローカルでは特に問題なく動作しているので、次回はcoreserverで試してみます。