CakePHP 事始め

  • /app/tmp ... パーミッション変更
  • /app/config/core.php ... salt値変更
  • /app/config/database.php ... 必要に応じて接続設定

基本的な用語

  • コントローラ
  • コンポーネント(コントローラでの共通部品)
  • モデル
  • ビヘイビア(モデルを拡張するもの)
  • ビュー
  • ヘルパー(ビューの作成にあたって補助するもの)
DBテーブル作成 ⇒ モデル作成 ⇒ コントローラ作成 ⇒ ビュー作成 

CakePHP規約

ファイルとクラス名
ファイル名はアンダースコア記法(underscored)を使い、クラス名にはキャメル記法(CamelCased)を使います。

http://book.cakephp.org/ja/view/13/CakePHP%E3%81%AE%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%89%87

<?php
//file: hoge_hoge.php
class HogeHoge extends Foo
  {
    var $val = 'test';
  }
?>
モデルとデータベース名
モデルのクラス名は単数形でキャメル記法です。
モデルに対応するテーブル名は、複数形でアンダースコア記法です。

コンポーネント

複数のコントローラ(アプリケーション)で共有するクラスコード。

組み込みヘルパークラス

プレゼンテーション(view?)部で使える便利コード。

URL

通常はmod_rewriteで静的なURLとしてパラメータを渡すことになるが、必要があれば使わなくても良い。

<?php
//core.php
//(略)
//サーバでmod_rewrite(や、その他の互換モジュール)を使いたくない、または使えないという場合には、Cakeに組み込まれている pretty URLsを使う必要があります。/app/config/core.phpの中の次の箇所のコメントを外してください。
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
//(略)
?>