では、プロジェクトの「
src」フォルダを開き、ファイルが生成されていることを確認しましょう。bake allでは、以下のようなファイルが自動生成されます。
Controller/SamplesControllers.php
Model/Entity/Sample.php
Model/Table/Samplestable.php
Template/Samples/add.php
Template/Samples/edit.php
Template/Samples/index.php
Template/Samples/view.php
コントローラー、モデル(エンティティとテーブル)、そしてビューのテンプレート(add、edit、index、viewの4種類)がすべて作成されていることがわかるでしょう。今までの「MVCのファルを1つ1つエディタで作成していく」という作業は何だったんだ?と思うぐらい、あっけないですね!
この他、「
tests」フォルダの中にも、以下のようなテスト用ソースコードファイルが生成されています。
Fixture/SamplesFixture.php
TestCase/Controller/SamplesControllerTest.php
TestCase/Model/Table/SamplesTableTest.php
テスト関連も自動生成されますので、後から一から書く必要もありません。
bake allで注目すべきは、単にコントローラーやモデルの基本コードが生成されているだけでなく、CRUDの基本機能も自動的に実装されている、という点でしょう。
SamplesControllerを見ると、「
index」「
add」「
edit」「
view」「
delete」というい5つのアクションメソッドが作成されているはずです。
index――テーブルの一覧データを表示(ページネーション使用)
view――選択したIDのデータを詳細表示
add――データの新規追加
edit――選択したIDのデータの編集
delete――選択したIDのデータの削除
こういうことですね。これは、前回までに作成した
Membersと
Messagesで作成したアクションと同じことに気がついたかもしれません。
実をいえば、先に説明したコードは、この
bake allで生成したものをベースにしたものだったのです。「
bakeでどんなソースコードが作成されるのか?」と思った人は、先の
Membersと
Messagesのコードを読み返してみてください。生成されるコードの基本形がわかるでしょう。