スポンサーリンク

CakePHP3のブックマークチュートリアルを触ってみる2 Scaffold コードの生成

スポンサーリンク
スポンサーリンク

データベースのテーブル作成が終わったので、bakeを使って、Scaffold コードの生成を実施する。

チュートリアルの通り、usersテーブルに対してbakeコマンドを実施する。
bin\cake bake all users

その結果、以下の順番でphpファイル、ctpファイルを自動で作成する。なお、各フォルダに存在しているemptyファイルは、ここで削除される。
src\Model\Table\UsersTable.php
src\Model\Entity\User.php
tests\Fixture\UsersFixture.php
tests\TestCase\Model\Table\UsersTableTest.php
src\Controller\UsersController.php
tests\TestCase\Controller\UsersControllerTest.php
src\Template\Users\index.ctp
src\Template\Users\view.ctp
src\Template\Users\add.ctp
src\Template\Users\edit.ctp

残りのbookmarks、tagsを実行する前に、allがなんだか調べてみる。allを指定すると、MVCに必要なものが完全に自動作成される模様。

bin\cake bake -help
all Bake a complete MVC skeleton.

allと同様のことを、各サブコマンドで作成してみる。ヘルプの説明を見て必要そうなもの。
controller・・・Controllerクラスを作成する
fixture・・・Fixtureクラスを作成する
model・・・Model、Tableクラスを作成する
template・・・コントローラに対応するビューを作成する
test・・・Testクラスを作成する

usersテーブルに対応するクラスを作成するとき、順番があったので、以下の順番で作成してみる。

bin\cake bake model bookmarks
bin\cake bake fixture bookmarks
bin\cake bake controller bookmarks
bin\cake bake test bookmarks
bin\cake bake template bookmarks

結果
modelで以下のファイルを自動生成する。
src\Model\Table\BookmarksTable.php
src\Model\Entity\Bookmark.php
tests\Fixture\BookmarksFixture.php
tests\TestCase\Model\Table\BookmarksTableTest.php

fixtureで以下のファイルを自動生成する。しかし、modelで生成済み。
tests\Fixture\BookmarksFixture.php

controllerで以下のファイルを自動生成する。
src\Controller\BookmarksController.php
tests\TestCase\Controller\BookmarksControllerTest.php

testはエラーが出たのと、上記でTestクラスができているので飛ばす。

templateで以下のファイルを自動生成する。
src\Template\Bookmarks\index.ctp
src\Template\Bookmarks\view.ctp
src\Template\Bookmarks\add.ctp
src\Template\Bookmarks\edit.ctp

残りのtagsテーブルの自動生成はallで実施する。ここまで。

コメント

タイトルとURLをコピーしました