bake で生成するコントローラに特定のアクションのみ追加する

前回に続き CakePHP の話です。
Rails や Laravel だとおなじみの「コントローラやモデルのひな形を自動生成してくれる機能」ですが、CakePHP にも同じようなことができる bake というプラグインがあります。
例えば、コントローラを作成する際は以下のようなコマンドを実行します。

./bin/cake bake controller hoge # HogeController とそのテストコードが生成される

生成されたコントローラにはデフォルトで以下アクションが記述されます。

  • index (一覧)
  • view (詳細画面の表示)
  • add (新規追加画面の表示・新規追加処理)
  • edit (編集画面の表示・更新処理)
  • delete (削除処理)

addedit はリクエストメソッドで処理を分けており、それがいまいちだなと思いますが、今回の話はそこではありません。
上記アクションのうち「このアクションはいらない(このアクションだけで良い)」というケースがあります。
その場合、以下のようにすれば特定のアクションのみ生成できます。

./bin/cake bake controller hoge --actions index,view # index と view アクションのみ追加された HogeController が生成される

この「カンマ区切り」というのにハマりました。
この機能自体は 2015 年に追加されたようなのです(PR)。

CakePHP の機能はある程度把握しているつもりでしたが、全く知りませんでした。
プラグインの変更などもちゃんと追っておく必要がありますね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA