†でおきしブログ†

ウナギ食べたいヽ(•̀ω•́ )ゝ✧

初めてCakePHPを初めて触る上での肝はコントローラーやビュー(Template)名の規約であろう

f:id:deokisikun:20190321120342p:plain
こないだ初めてCakePHPを触ったのですが、MVCの作りとかはわかりやすいんですけれど、規約(特にTemplate名)重要やんけと思ったのでメモメモ

ビューの規約
ビューのテンプレートファイルは、それを表示するコントローラーの関数に合わせた、 アンダースコアー記法で命名されます。 ArticlesController クラスの viewAll() 関数は、ビューテンプレートとして、 src/Template/Articles/view_all.ctp を探すことになります。

基本パターンは、 src/Template/コントローラー名/アンダースコアー記法_関数名.ctp です。

CakePHP の規約

※Templateファイルの拡張子ctpってのはCakePHPtemplateって意味。

コントローラーに記載するアクション名はキャメルケースで、アクションに紐づくTemplateファイル名はスネークケース
という、フレームワークに内包されてgrepしても見つからないブラックボックス規約。

ついでにそこから展開されるURLはケバブケースっていう複雑性。

複数語のコントローラーをあなたの好きなようにルーティングできますが、 DashedRoute クラスを使用すると URL は小文字とダッシュを用いる規約であり、 ArticleCategoriesController::viewAll() アクションにアクセスするための正しい形式は /article-categories/view-all となります。

CakePHP の規約

慣れたら普通なんだろうけれど、CakePHPを初めて触る人はこの規約をまず見とくといいと思った。


PHPフレームワーク CakePHP 3入門

PHPフレームワーク CakePHP 3入門

CakePHP 超入門

CakePHP 超入門