*

[CakePHP]bakeコマンドでControllerを作る

公開日: : 最終更新日:2014/12/23 CakePHP

CakePHP関連まとめページはこちら。
今度はControllerをbakeコマンドで焼き上げてみます。

Bake

エラー

---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q) 
> C 
---------------------------------------------------------------
Bake Controller
Path: /home/[user名]/www/[ケーキの名前]/app/Controller/
---------------------------------------------------------------
Use Database Config: (default/test) 
[default] > 
Warning Error: PDOStatement::execute(): MySQL server has gone away in [/home/[user名]/www/[ケーキの名前]/lib/Cake/Model/Datasource/DboSource.php, line 458]

Warning Error: PDOStatement::execute(): Error reading result set's header in [/home/[user名]/www/[ケーキの名前]/lib/Cake/Model/Datasource/DboSource.php, line 458]

Error: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
#0 /home/[user名]/www/[ケーキの名前]/lib/Cake/Model/Datasource/DboSource.php(458): PDOStatement->execute(Array)
#1 /home/[user名]/www/[ケーキの名前]/lib/Cake/Model/Datasource/Database/Mysql.php(223): DboSource->_execute('SHOW TABLES FRO...')
#2 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/Task/ModelTask.php(958): Mysql->listSources()
#3 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/Task/ControllerTask.php(422): ModelTask->getAllTables('default')
#4 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/Task/ControllerTask.php(445): ControllerTask->listAll(NULL)
#5 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/Task/ControllerTask.php(151): ControllerTask->getName()
#6 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/Task/ControllerTask.php(60): ControllerTask->_interactive()
#7 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/BakeShell.php(115): ControllerTask->execute()
#8 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#9 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Command/BakeShell.php(132): BakeShell->main()
#10 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/Shell.php(440): BakeShell->main()
#11 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/ShellDispatcher.php(209): Shell->runCommand(NULL, Array)
#12 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/ShellDispatcher.php(66): ShellDispatcher->dispatch()
#13 /home/[user名]/www/[ケーキの名前]/lib/Cake/Console/cake.php(54): ShellDispatcher::run(Array)
#14 {main}
% 

いきなりエラーです。
もしかして権限かなんかかなぁ、と思ったら上記のエラーはタイムアウト的な何からしい。
しばらく放置してたせいでしょうか。二度目はOKでした。

気を取り直して、Controllerを焼き上げる

Welcome to CakePHP v2.5.6 Console
---------------------------------------------------------------
App : app
Path: /home/[ユーザ名]/www/[ケーキの名前]/app/
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[F]ixture
[T]est case
[Q]uit
What would you like to Bake? (D/M/V/C/P/F/T/Q) 
> c

コントローラを作るので、cを選択。

---------------------------------------------------------------
Bake Controller
Path: /home/[ユーザ名]/www/[ケーキの名前]/app/Controller/
---------------------------------------------------------------
Use Database Config: (default/test)
[default] >
Possible Controllers based on your current database:
---------------------------------------------------------------
1. Posts
2. Users
Enter a number from the list above,
type in the name of another controller, or 'q' to exit
[q] > 2

Usersのコントローラを作るので2を選択。

---------------------------------------------------------------
Baking UsersController
---------------------------------------------------------------
Would you like to build your controller interactively? (y/n) 
[y] > y
Would you like to use dynamic scaffolding? (y/n) 
[n] > y

---------------------------------------------------------------
The following controller will be created:
---------------------------------------------------------------
Controller Name:
        Users
public $scaffold;
---------------------------------------------------------------
Look okay? (y/n) 
[y] > y

上書き確認とスカフォードを作るか、とのことなので両方ともyで設定し、作成開始。

Baking controller class for Users...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/Controller/UsersController.php
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/Controller/UsersController.php</code>
PHPUnit is not installed. Do you want to bake unit test files anyway? (y/n) 
[y] &gt; y

You can download PHPUnit from http://phpunit.de
Bake is detecting possible fixtures...

Baking test case for Users Controller ...

Creating file /home/[ユーザ名]/www/[ケーキの名前]/app/Test/Case/Controller/UsersControllerTest.php
Wrote <code>/home/[ユーザ名]/www/[ケーキの名前]/app/Test/Case/Controller/UsersControllerTest.php</code>

焼きあがりました。
コントローラは設定も少なくて、すぐ終わりますね。

焼き上がりの確認

/app/Controller/の中にUsersControllerが出来ています。

<?php
App::uses('AppController', 'Controller');
/**
 * Users Controller
 *
 */
class UsersController extends AppController {

/**
 * Scaffold
 *
 * @var mixed
 */
	public $scaffold;

}

シンプル。
本当にScaffoldぐらいしか設定されてない。
まぁコントローラは物によって動きがかなり異なりそうですから仕方ないですね。
次はViewだ。

ad

関連記事

Wannabenote

[CakePHP]SNSを作ろう CakePHPインストール編

SNSを作ろうまとめページはこちら はい。こないだのsymfonyはなかったことにします。

記事を読む

Wannabenote

[CakePHP]SNSを作ろう CakePHP設定編

SNSを作ろうまとめページはこちら 前回の続き。 前回のこの画面は設定が必要な箇所を示し

記事を読む

Wannabenote

[CakePHP]ログアウトすると権限が必要と表示される

ちょっと時間は前後しますが、ログイン機能を作ったあとの話です。 チュートリアル通りに進めても、

記事を読む

Wannabenote

[PHPStorm]SNSを作ろう IDE環境作成編

SNSを作ろうまとめページはこちら。 前回の続き、というか閑話休題。 プログラムをガチで

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編2~MVCの作成~

SNSを作ろうまとめページはこちら。 前回の続き。 ブログ編は基本的にこちらのチュートリ

記事を読む

Wannabenote

[CakePHP]bakeコマンドでViewを作る

CakePHP関連まとめページはこちら。 最後はViewを焼いてみます。 Viewを焼き上げ

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編

SNSを作ろうまとめページはこちら。 前回の続き。 さて、私が今作りたいのはブログがメイ

記事を読む

Wannabenote

[CakePHP]SyntaxHighlighterを利用する

ソースを綺麗に表示する このサイトでも利用しているのですが、ソースを表示して、かつ予約語などを別色

記事を読む

logo

[CakePHP]bakeコマンドでModelを作る

CakePHP関連まとめページはこちら。 bakeコマンドを使う チュートリアルとか本とか読んで

記事を読む

Wannabenote

[CakePHP]SNSを作ろう ブログ編5~編集画面作成~

SNSを作ろうまとめページはこちら CakePHPで閲覧画面を作った続きです。 投稿を手軽に

記事を読む

ad

Message

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

ad

  •  Auther;わなび

     「オープン系得意だよね? 俺のPCの調子悪いんだけど」という無茶振りから解き放たれゲームエンジニアに。
    C#とかUnityを扱います。
    Twitterフォロー大歓迎です。
    githubアカウント→wannabenote
  • follow us in feedly
PAGE TOP ↑