CakePHP

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の切り分け

参考書籍

コメント

  • #comment

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-12-03 (水) 15:15:00 (5642d)