「CakePHP徹底入門」まとめ
先日「CakePHP徹底入門」を読み終えたので、そのまとめをしておく。(まとめと言っても僕が知らなかったところを書き出すだけですが…)
database.phpの各種キー
<?php class DATABASE_CONFIG { var $default = array( 'driver' => 'mysql', 'persistent' => false, 'host' => 'localhost', 'login' => '****', 'password' => '****', 'database' => '****', 'prefix' => '', 'encoding' => 'utf8', ); } ?>
- persistent
- データベースの接続を維持し続けるかどうか
- schema
- データベースの機能である「スキーマ」を利用するときに設定する。スキーマはテーブル名が重複しないようにする仕組み。下に書くプレフィックスと似たような感じだが、データベースの種類やバージョンなどによっては使用できない場合があるため注意が必要。
- prefix
- プレフィックスを利用するかどうか。プレフィックスとは、データベース内でテーブル名が重複しないよう区別するための機能。例えば、fooというデータベース内にhogeというテーブルを作りたい場合、他に存在するテーブル名と重複しないように「foo_hoge」などという名前で作成する。この「foo_」の部分がプレフィックスとなる。このまま作業していくと、コントローラの名前が「foo_hoge_controller.php」などと長くなってしまうが、プレフィックスを指定することで「hoge_controller.php」とすることができる。
$this->Model->recursive
<?php class TestsController extends Appcontroller { var $name = 'Tests'; function index() { $this->Test->recursive = -1; $data = $this->Test->findAll; $this->set('data', $data); } } ?>
Model::findAll()やModel::find()をするときに関連するレコードも取得するかどうかを決めるための変数。
- 0または1
- 直接関連するレコードを取得
- 2
- 直接関連するレコードと、そのレコードに関連するレコードを取得
- -1
- 関連するレコードを取得しない
デフォルトで1が設定されている。
感想とか
- プレフィックスが何なのかイマイチよくわかってなかったけど、やっとわかった。
- この本の中で一番勉強になった部分。
- bakeに大量のページを割いてるけど、bakeはほとんど使わないから正直要らなかった。
- なんでCakePHPの本に開発手法についての説明が書かれてるの?
- 作者: イージーゲート
- 出版社/メーカー: 翔泳社
- 発売日: 2008/08/29
- メディア: 大型本
- 購入: 1人 クリック: 62回
- この商品を含むブログ (7件) を見る