facebook twitter youtube
Salesforce Java Android PHP JavaScript MySQL Perl node.js HTML iOS
in PHP - 19 11月, 2013
by mr58 - no comments
CakePHP 2xの命名規則について

ちょっと昔の事なので思い出しながら記述

CakePHP2xと言うWebフレームの命名規則について、
大変恥ずかしながら英単語で躓いた経験があったので
まさかそんな人はもういないとあえて言わせてもらいますが
未来の自分に向けて残します。

Cakeに限らずフレームワークには命名規則が存在していて
それによってコントローラーとモデルを紐づけたりしています。

例えば掲示板のシステムを作っているとき、
その掲示板には「重要」だとか「営業用」だとかのカテゴリーが必要なシステムだとして
データベースのテーブル名の決め方をアンダースコア型で「[コンテンツ名]_[機能]」にしていると
掲示板のカテゴリーを示すDBは
bbs_category
のようにします。よね?

これをCakePHPの命名規則で表現するには、なんと複数形として定義する必要があります。
つまり
bbs_category
なら
bbs_categories
になるわけです。

更に言えば、これをコントローラーで呼び出す場合は
new BbsCategory;
になります。
キャメります。

中学生でもわかる複数系とあなどるべきでしょうか。
indexの複数系は?と言われてindicesと解る人がいったいどれだけいるのでしょうか。
いや普通わかるよバカなの?と言われるともう返す言葉はないですが
対象を(あ、そうなんだ…)と声には出さないけど
そう思ってしまった方だけで良いので便利なサイトを紹介します。

CakePHP 規約ワードメーカー WordMaker for CakePHP Conventions
http://www.cpa-lab.com/tech2/inflects/

テキストボックスに単語を入れると、モデル名やテーブル名やコントローラー名やビュー名など全て出てくれます。
大変助かりました。

このサイトがなくなるのが先か、CakePHPが消えるのが先か