命名規則
CakePHPはクラス名やファイル名、データベースのテーブル名やカラム名などの名前を規則に従って利用しています。完全に従っていなくても利用できますが、命名規則を知っておくとフレームワークを使う上で便利だったり、他人のコードが理解しやすくなります。
付録 C. Cake 規約
CakePHPシステムデザイン(最新規約)
キャメルケースとアンダースコアードの使い分け
キャメルケース
先頭が大文字の複数単語がスペースなしで連結されたもの。クラス名などで使用されます。
例:UserName
アンダースコアード
全て小文字の複数単語がスアンダースコアで連結されたもの。ファイル名などで使用されます。
例:user_name
モデル
クラス名は単数形でキャメルケース(Post)
ファイル名は単数形でアンダースコアード(post.php)
テーブル名は複数形でアンダースコアード(posts)
コントローラー
クラス名は複数形でキャメルケース + "Controller"(PostsController)
ファイル名は複数形でアンダースコアード + "controller"(posts_controller.php)
ビュ−
ファイル名はアクション名をアンダースコアード+'.ctp'
(アクション名がonePiece()ならone_piece.ctp)
テーブルのカラム名
主キーは'id'。
日時
'created'はレコード作成日時、'updated'または 'modified'はレコード修正日時として自動入力されます。(初期値NULLでテーブル定義する事)
パスワード
'psword', 'passwd', 'password'のカラム名はパスワードとして認識され、ビューでのフォームのタイプがpasswordになります。
見出し
'title'または'name'のカラム名はリスト表示などでの見出しに使用されます。(modelのdisplayFieldの設定が無い場合)
名前の変換
Inflectorクラスを使用して命名規則に従った名前に変換できます。
$newName = Inflector::camelize($name);
Inflectorクラスのメソッドもご覧下さい。