【CakePHP3系/bake】コマンド1つで、Controller、Model、Templateの作成ができる!
今回は、CakePHP3系のbakeのやり方を記していきます。
bakeコマンドを使用することで、必要なファイルを自動で作成できるので
時間の短縮になるので、ぜひ覚えて使っていきましょう!
2.事前準備
bakeコマンドを実行するには、新規テーブルが必要になります。
今回は、下記テーブルを使用します。
-- ユーザー CREATE TABLE users ( id INT(11) AUTO_INCREMENT, department_id INT(11), user_name VARCHAR(50) NOT NULL, email VARCHAR(255), password VARCHAR(255) NOT NULL, created DATETIME NOT NULL, modified DATETIME NOT NULL, del_flg INT(1) DEFAULT 0, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
データは無くても問題ないですが、画面表示した際にあった方が見た目が良いので入れておきましょう。
初期データとしてこちらを入れておきます。
-- ユーザー INSERT INTO `users` (`id`, `department_id`, `user_name`, `email`, `password`, `created`, `modified`, `del_flg`) VALUES (1, 1, 'テストユーザー1', 'example1@example.com', 'test1', '2020-07-01 22:09:07', '2020-07-01 22:54:05', 0), (2, 2, 'テストユーザー2', 'example2@example.com', 'test2', '2020-07-01 02:11:57', '2020-07-01 02:11:57', 0), (3, 3, 'テストユーザー3', 'example3@example.com', 'test3', '2020-07-01 02:11:57', '2020-07-01 02:11:57', 0), (4, 1, 'テストユーザー4', 'example4@example.com', 'test4', '2020-07-01 02:11:57', '2020-07-01 22:54:19', 0);
これでテーブルの事前準備は完了です。
4.bakeコマンドの実行
ルートディレクトリに移動したら、bakeコマンドを実行していきます。
bakeコマンドは下記のように使用していきます。
php bin/cake.php bake {bakeするMVCの内容} {テーブル名}
5.Controllerの作成
Controllerのみ作成する場合は、下記コマンドを実行します。
php bin/cake.php bake controller users
6.Modelの作成
Modelの作成する場合は、下記コマンドを実行します。
EntityとTableが作成されます。
php bin/cake.php bake model users
7.Templateの作成
Templateのみ作成する場合は、下記コマンドを実行します。
こちらの4画面が作成されます。
・一覧画面:index.ctp
・詳細画面:view.ctp
・新規画面:add.ctp
・編集画面:edit.ctp
php bin/cake.php bake template users
8.Controller、Model、Templateを一気に作成
1回のコマンドでController、Model、Templateを作成する場合は、下記コマンドを実行します。
php bin/cake.php bake all users
8.実行後の画面
bakeし作成した画面を確認してみましょう。
「{URL}/Users」 でブラウザにアクセスします。
一覧画面
詳細画面
新規画面
編集画面
bakeが完了した時点である程度の機能は既に出来ていますね!
JOINしなくて良いマスタ画面であれば少し修正したら完成出来そうです!
テーブルが追加された場合でもbakeできるので、ぜひbakeコマンドを覚えていきましょう!