前回に続き CakePHP の話です。
Rails や Laravel だとおなじみの「コントローラやモデルのひな形を自動生成してくれる機能」ですが、CakePHP にも同じようなことができる bake というプラグインがあります。
例えば、コントローラを作成する際は以下のようなコマンドを実行します。
./bin/cake bake controller hoge # HogeController とそのテストコードが生成される
生成されたコントローラにはデフォルトで以下アクションが記述されます。
- index (一覧)
- view (詳細画面の表示)
- add (新規追加画面の表示・新規追加処理)
- edit (編集画面の表示・更新処理)
- delete (削除処理)
add
と edit
はリクエストメソッドで処理を分けており、それがいまいちだなと思いますが、今回の話はそこではありません。
上記アクションのうち「このアクションはいらない(このアクションだけで良い)」というケースがあります。
その場合、以下のようにすれば特定のアクションのみ生成できます。
./bin/cake bake controller hoge --actions index,view # index と view アクションのみ追加された HogeController が生成される
この「カンマ区切り」というのにハマりました。
この機能自体は 2015 年に追加されたようなのです(PR)。
CakePHP の機能はある程度把握しているつもりでしたが、全く知りませんでした。
プラグインの変更などもちゃんと追っておく必要がありますね。