CakePHPの命名規則
CakePHPには命名規則というものが存在する。
なぜならば、「設定より規約」という考え方だ。コレについては省略。
例えばクラス名であったり、テーブル名であったり。
初めて見る私にとっては少し複雑であるため、一応わかったことだけでもまとめておこうと思う。
基本
キャメル記法
単語の先頭を大文字で記述する。大体こいつを使う。
- PeopleController
- CakesController
モデルの規則
app/Modelに配置する。
【単数形】【キャメル記法】を用いて命名する。
モデルに対応するテーブルは、【複数形】【アンダースコア記法】で記述する。
クラス名 | ファイル名 | テーブル名 |
---|---|---|
Person | Person.php | people |
Apple | Apples.php | apple |
BigPerson | BigPerson.php | big_people |
コントローラーの規則
app/Controllerに配置する。
【操作するモデルの複数形】【キャメル記法】を用いて命名する。
また、<名前> + Controllerの順で命名する。
モデル名 | クラス名 | ファイル名 |
---|---|---|
Person | PeopleController | People.php |
Apple | ApplesController | Apples.php |
BigPerson | BigPeopleController | BigPeople.php |
複数のモデルを使用する場合は、$usesという配列で表す。
$uses = array('Person','Apple');
URLについて
一つの単語からなるコントローラーは小文字のURLパスにマップできる。
PeopleControllerの場合は、example/peopleでアクセスできる。
複数の単語からなるコントローラーへのアクセスは、小文字+アンダースコア記法を用いる規則になっているため、BigPeopleControllerの場合
となる。