CakePHPを始めた頃は勉強のためもあり、関連ファイルはすべて自分で作成して各ディレクトリにアップし動作を確認していました。ファイル名を複数形にする癖がついたのもそのお陰です。Bakeの存在は当時から知っていたものの使わずにいましたので、あらためて流れを確認してみました。
Bakeはプロトタイプや簡易な管理画面作成には向いていると思います。ウェブアプリケーション開発の場合、ユーザーが使いやすいデザインを採用することはもちろん重要だと思いますが、プロトタイプの場合は、デザイン決定の前に開発側でプログラムをさっと作り動作を確認したい、という要望も多いのではないでしょうか。
Bakeを始める前の準備
1.データベース内にCakePHPの慣習に則った(例えば複数形の名前にする等)のテーブルを作成しておく。※データベースの規約
テーブルが存在しないと下記の通りbakeの際にエラーになります。
※データベース作成とテーブルのフィールド作成の手順などは省かせていただきます。
【エラーメッセージ】
One moment while associations are detected.
Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘cake_db.guitars’ doesn’t exist in [[/var/www/html/***********]
2.Bakeコマンドを実行する際、CLI(コマンドラインインターフェース)で現在地を確認し、CakePHPのルートディレクトリにいることを確認します。
具体的には、”bin”, “config”, “src”, “webroot”と同じ階層にいるという意味です。
Bakeコマンドの実行
下記のコマンドを実行すると、「shops」という名前に基づいた関連ファイルを生成します。
bin/cake bake all shops
「all」、「shops」の部分はbakeに渡すパラメータとなります。
「all」を実行するとMVCとして必要なプログラムファイル1式を各ディレクトリに生成します。「shops」はデータベース内のテーブルの名前です。パラメータについてはこちらも参考にしました。
参考サイト
CakePHP3でのBakeの使い方については、下記サイトを参考にさせていただきました。
https://qiita.com/geechlife/items/4f7d19bd60b797ebb087
https://dev.to/northgoingzax/cakephp-3-bake-by-example-40pp