読者です 読者をやめる 読者になる 読者になる

CakePHPの命名規約

今回はCakePHPの命名規約についてまとめたいと思います。
CakePHPでは、命名規約に従ってクラス名、ファイル名、テーブル名を付けることで、モデルに対応するテーブル、コントローラに対応するテーブルなどを自動的に認識してくれるため、開発が楽になります。
もし、命名規約に従いたくない場合や、すでにテーブル名が決まっていて変更することが出来ない場合は、モデルの$useTableや、コントローラの$usesを設定することで、柔軟な対応も可能です。
以下では、命名規約をモデル、コントローラ、ビューの3つに分けてまとめます。

命名規約

モデル

クラス定義:class CakeSample extends AppModel
ファイル名:/app/models/cake_sample.php
テーブル名:cake_samples

  • クラス名は単数型。
  • ファイル名は 単数型 、アンダーバー区切り。
  • テーブル名は 複数型 、アンダーバー区切り。
コントローラ

クラス定義:class CakeSamplesController extends AppController
ファイル名:/app/controllers/cake_samples_controller.php
メソッド定義:function xxx()

  • クラス名は複数形+Controller。
  • ファイル名は複数形+controller、アンダーバー区切り。
  • メソッドの「xxx」はアクション名に対応。
ビュー

ファイル名:/app/views/cake_samples/xxx.thtml

  • 「xxx」はコントローラのアクション名。
  • テンプレートファイル名はcake1.1系列の場合「thtml」、cake1.2系列の場合「ctp」。

自動生成

これらの命名規約を全部覚えるのが面倒、という場合は以下のサイトを利用すればモデル名を指定するだけで、命名規約に従ったファイル名、テーブル名等を自動生成することが出来ます。
CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions