PHPで作成するときに、なにか便利なフレームワークを探していたのですが、特徴の中に
・ PHP4/PHP5の両方に対応
・ PEARライブラリを必要としない
とあり、一般で使うに当たってPHP5だけとかになるとなかなか使えるところもなく、Railsにもにているので、これを勉強してみたいと思います。
環境
http://cakephp.org/のホームページのhttp://cakeforge.org/frs/?group_id=23&release_id=215よりStable1.1.14.4797をダウンロードしました。
TIPS
- コントローラから別のモデルを呼びたい。
仮にコントローラがTestsController?とし、呼びたいモデルがTest2とすると、
var $uses = array('Test','Test2');
とコントローラに定義してやる。TestsController?なので、Testはデフォルトで定義されているが、$usersを使った場合は、定義してやる。
- 別のヘルパーも使いたい。
var $helpers = array('Html','Form');
と$helpersに設定してやる。cake\libs\view\helpers\html.phpを参考にしてみよう。実は$form->createで悩んでいた。ずっと
Fatal error: Call to undefined function: create()
のメッセージがでるので、調べていると、確かにソースにはそんなメソッドはない。ん?参考にしているのが1.2で、今動かしているのは1.1だったのか... $html->formTagで解決だが、さてどちらのバージョンを使えばいいことやら。
- 複数形の名前が知りたい
thtmlで、
<?php echo Inflector::tableize("hoge"); ?>
hoges
CamelCase?で見たいときは、
<?php echo Inflector::camelize("hoge_data"); ?>
HogeData
他にもメソッドがあるので、cake\libs\inflector.phpを参照してみましょう。複数の場合でも同じ単語とか書いてあります。
- デバッグモード
app\config\core.php
を参照すると、
define('DEBUG', 2);
とかあります。その上にコメントで
* - 0: production
* - 1: development
* - 2: full debug with sql
* - 3: full debug with sql and dump of the current object
とありますので、好きな値を設定しましょう。
リンク
CakePHP 入門
CakePHPフレームワークによる快速WEB開発
Webプログラミングに関するメモ
モバイルサイトとPCの切り分け
参考書籍
コメント