2012年8月5日日曜日

cakeを触ってみた2

前回の続き。

CakePHP2.0

こちらををベースに写経していきます。

Viewについて

ビューはctpという拡張子で
Viewフォルダ配下にアプリケーション名のフォルダを作成して
その配下に、アクション名のctpファイルを作ればいいんだろう。

でデータのバインドは
コントローラ側で
$this->set(‘変数名’,変数);
という具合でできる。

ビュー側では
そいつを<?php echo $変数名 ?>とかで出力する。

次。
モデルに行きます。

DB

MySQLでDB作ります。
よくあるtbl_Userとかのユーザテーブルにしました。
CakeではXXXdatasっていうテーブル名にするみたい。
でもマスタはmstリソース、イベント系はtblとかに
する事が多いのでここはtbl_Userとしておきます。

と思いきや、
cakeの特有の命名規約があるみたい。
テーブルにはsがついた複数形として
モデルはsがつかない。
というルールにしておけばよさそう。。

tbl_Users

とすれば

TblUser

というモデル名となります。
※このあとでfind(‘list’);ってやった時にフィールド名にデフォルトのモデル名が利用されてSQLエラーが
発生したけど、エラー情報からオブジェクトにaliasを設定すればよさそうなことがわかり、対応。

  • controller = 機能要件に沿ったアプリケーション名として
  • model ≒ DBテーブル名 ≒ 実世界のデータ・モデル名に近い命名

DB接続情報

/app/Config/.database.php.defaultがあるので  
/app/Config/.database.php
としてコピーして利用します。 で、$testは今のところ利用しないので削除しちゃいます。 ひとまず勉強のためにやってますが、これはあとでbakeで対話式に 設定可能。

modelについて

DBの説明でもあったように命名に癖がある。

クラス定義

Controllerクラスの定義はまず、

App::uses('AppController','Controller');  

として利用できるように定義、
AppControllerクラスを継承して定義するみたい。

これも結局あとでbakeで生成されるけど、いちどはやっとかんとね。

ひとまず、写経してどのフォルダに何入れるか。。
ってのと命名規則のさわりだけはOKとした。

時間ないのでCakeについてはここまで。

次はBancha。

0 件のコメント: