CakePHP Note (v1.3) > コンソール > Bake(コードの生成)

Bake(コードの生成)

コマンドラインからBakeを使用して、アプリケーションに必要なコードを生成する事が出来ます。データベースにテーブルを作成しておけば、Bakeを使ってデータベース設定、モデル、ビュー、コントローラのファイルを生成する事が出来ます。

Bakeを使う

ディレクトリに移動し、'cake bake'を実行します。

$ cd /path-to-cake/cake/console/
$ cake bake


Bakeを実行すると以下の例のように対話的な画面になり、やり取りを続けてゆくとコードが生成されます。

Welcome to CakePHP v1.3.x Console
---------------------------------------------------------------
App : garacter.com
Path: /path-to-cake/app
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[Q]uit
What would you like to Bake? (D/M/V/C/P/Q) 

生成されたファイルの文字コードを日本語の使えるUTF-8などに変更するのを忘れずに。文字コードを変更せずに日本語を使うと予期せぬ不具合が起こってしまいます。例えばモデルファイルに指定した検証ルールのエラーメッセージが表示されないなど。

新しくアプリケーションを追加する

'cake bake project'を実行します。

Welcome to CakePHP v1.3.x Console
---------------------------------------------------------------
App : app
Path: /path-to-cake/app
---------------------------------------------------------------
What is the full path for this app including the app directory name?
Example: /path-to-cake/app/myapp  
[/path-to-cake/app/myapp] >

アプリケーションのフルパスを確認されますので、パスを入力して実行します。

[/path-to-cake/app/myapp] >  /path-to-cake/app/newapp    
Bake Project
Skel Directory: /path-to-cake/cake/console/libs/templates/skel
Will be copied to: /path-to-cake/app/newapp
---------------------------------------------------------------
Look okay? (y/n/q) 
[y] > y
Do you want verbose output? (y/n) 
[n] > n
---------------------------------------------------------------
Created: myapp4 in /path-to-cake/app/newapp
---------------------------------------------------------------

Creating file /path-to-cake/app/newapp/views/pages/home.ctp
Wrote /path-to-cake2/app/newapp/views/pages/home.ctp
Welcome page created
Random hash key created for 'Security.salt'
CAKE_CORE_INCLUDE_PATH set to /path-to-cake/cake in webroot/index.php
CAKE_CORE_INCLUDE_PATH set to /path-to-cake/cake in webroot/test.php
Remember to check these value after moving to production server

CakePHP Note (v1.3)

Index