libro
www.tuyano.com
初心者のためのCakePHP3 プログラミング入門

bakeによるコードの自動生成 (4/4)

作成:2015-11-22 09:56
更新:2015-11-22 09:56

■MVCの各機能を作成する

bake allを使えば、MVCの基本を一括して作ることができます。が、「既にモデルはできてる、CRUDのテンプレートだけ作りたい」というように必要な部分だけを作成したいこともあるでしょう。これもbakeでは可能です。

・コントローラーの作成
bin\cake bake controller 名前

・モデル(エンティティ、テーブル)の作成
bin\cake bake model 名前

・テンプレート(add, edit, index, view)の作成
bin\cake bake template 名前

ざっとこのように実行すれば、MVCの必要な部分のみを作成することができます。ただし! これらでMVCの一部分のみを作る場合は、いくつか頭に入れておいてほしいことがあります。

・アクションはindex, view, add, edit ,deleteの固定!
コントローラーやテンプレートを作成する場合、生成されるアクションはindex, view, add, edit ,deleteの5種類に固定されています。他のアクションを追加することはありません。例えば、既にコントローラーが用意されていて、これにテンプレートをbakeで追加するような場合も、「用意されているコントローラー内のアクションメソッドを解析してテンプレートを作る」なんて芸当はしてくれません。コントローラーの内容とは無関係に、用意された5種類のテンプレートを作成するだけです。

・ファイルの上書きに注意!
既に作成するファイルが存在する場合、bakeは「Do you want to overwrite? (y/n/a/q)」と尋ねてきます。「y」を入力すると、既にあるファイルを上書きして新たにファイルを作ります。また「a」を入力すると、その後、また作成するファイルが既にあったとしても「上書きするか?」を尋ねず、無条件ですべて上書きします。上書きすると、前にあったファイルの中身は完全に失われてしまうので注意して下さい。

・必ずデータベーステーブルを用意!
既に説明したように、bakeはデータベースに用意されているテーブルを調べ、それに基づいてファイルを生成していきます。このため、まずデータベーステーブルをきちんと用意する必要があります。また、特にView関係(「Template」フォルダのファイル類)は、データベーステーブルに用意されている項目情報を元にフォームなどを生成するため、「適当に項目を用意しておいて、後で修正すればいいだろう」なんて考えていると、かえって面倒くさいことになります。必ず、最初にデータベーステーブルを確定してから作業して下さい。


――上記のような点に注意して使えば、bakeは面倒な基本作業をほぼ自動的に行なってくれる便利なツールとして開発の大きな力となってくれるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのCakePHP3 プログラミング入門」に戻る