CakePHP テーブルから bake でスケルトンの作成

データベースにテーブルが存在すれば、bakeコマンドでスケルトンを作成してくれる。
スケルトンとは、Model, View ,Controllerの各ファイルのこと。

テーブルは作成されていることとする。

  リンク:CakePHPのチュートリアルより

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    created DATETIME,
    modified DATETIME
);

テーブルの規約は、だいたいこんな感じで理解

・テーブル名は、複数形とすること。 artiles
・主キーは id
・createとmodified のDATETIME列をつけてあげる。

リンク:データベースの規約

ここから、bakeの手順

XAMPP Control Panel を起動する。

C:\xampp\xampp-control.exe

XAMPP Control Panel 内の Shell ボタンをクリックする。

アプリケーションのフォルダに移動する。

cd c:\xampp\htdocs\book

bakeコマンドの実行

php bin/cake.php bake all users

以下、ずら~~~と、実行経過、結果が表示される。

Bake All
---------------------------------------------------------------
One moment while associations are detected.

Baking table class for Users...

Creating file C:\xampp\htdocs\book\src\Model\Table\UsersTable.php
Wrote `C:\xampp\htdocs\book\src\Model\Table\UsersTable.php`
Deleted `C:\xampp\htdocs\book\src\Model\Table\empty`

Baking entity class for User...

Creating file C:\xampp\htdocs\book\src\Model\Entity\User.php
Wrote `C:\xampp\htdocs\book\src\Model\Entity\User.php`
Deleted `C:\xampp\htdocs\book\src\Model\Entity\empty`

Baking test fixture for Users...

Creating file C:\xampp\htdocs\book\tests\Fixture\UsersFixture.php
Wrote `C:\xampp\htdocs\book\tests\Fixture\UsersFixture.php`
Deleted `C:\xampp\htdocs\book\tests\Fixture\empty`
Bake is detecting possible fixtures...

Baking test case for App\Model\Table\UsersTable ...

Creating file C:\xampp\htdocs\book\tests\TestCase\Model\Table\UsersTableTest.php
Wrote `C:\xampp\htdocs\book\tests\TestCase\Model\Table\UsersTableTest.php`

Baking controller class for Users...

Creating file C:\xampp\htdocs\book\src\Controller\UsersController.php
Wrote `C:\xampp\htdocs\book\src\Controller\UsersController.php`
Bake is detecting possible fixtures...

Baking test case for App\Controller\UsersController ...

Creating file C:\xampp\htdocs\book\tests\TestCase\Controller\UsersControllerTest.php
Wrote `C:\xampp\htdocs\book\tests\TestCase\Controller\UsersControllerTest.php`

Baking `index` view template file...

Creating file C:\xampp\htdocs\book\src\Template\Users\index.ctp
Wrote `C:\xampp\htdocs\book\src\Template\Users\index.ctp`

Baking `view` view template file...

Creating file C:\xampp\htdocs\book\src\Template\Users\view.ctp
Wrote `C:\xampp\htdocs\book\src\Template\Users\view.ctp`

Baking `add` view template file...

Creating file C:\xampp\htdocs\book\src\Template\Users\add.ctp
Wrote `C:\xampp\htdocs\book\src\Template\Users\add.ctp`

Baking `edit` view template file...

Creating file C:\xampp\htdocs\book\src\Template\Users\edit.ctp
Wrote `C:\xampp\htdocs\book\src\Template\Users\edit.ctp`
Bake All complete.

が表示される。

つまり作成されたのは、
作成されたのは、以下の通り。(testsを除く)

\Model
    \Table\
          UsersTable.php
\Model
      \Entity\
          User.php
\Controller\
          UsersController.php
\Template
      \Users\
          index.ctp
          view.ctp
          add.ctp
          edit.ctp

ブラウザからアクセスする。

 http://localhost/book/users

一覧が表示される!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です