Bake でコード生成する

ここまでで、CakePHP におけるスキャフォールドを学んできました。スキャフォールドは、データベースといくつかの簡単なクラスを用意するだけで、アプリケーションを起動し実行できる簡単な方法です。CakePHP の Bake コンソールは、 CakePHP をすばやく起動し実行するための、もう1つの方法です。Bake コンソールは、 CakePHP の基本要素である、モデル・ビュー・コントローラを生成できます。Bake は、単なるスケルトンクラスではなく、充分な機能をもったアプリケーションを数分で生成します。実のところ、アプリケーションをスキャフォールドで組んだ後に Bake を使用することは、一般的なステップです。

Bake を使用するには、/cake/console/ フォルダにある cake スクリプトを実行します。

$ cd ./cake/console/
$ cake bake

起動時の設定次第ですが、bash スクリプト「cake」に実行権限を付与したり、./cake bake を使用して呼び出したりしなければならないかもしれません。cake コンソールは、PHP CLI(コマンドラインインターフェイス)を使用して実行します。スクリプトの実行に問題がある場合、PHP CLI がインストールされていて、適切なモジュール(たとえば MySQL)が有効になっているかを確認してください。

はじめて Bake を実行する際に、データベース設定をまだ作成していない場合は、このファイルを作成するプロンプトが表示されます。

データベース設定ファイルを作成した後に Bake を実行すると、次のようなオプションが表示されます:

---------------------------------------------------------------
App : app
Path: /path-to/project/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)
>

オプションで選択する代わりに、コマンドラインから直接これらのコマンドを選択して実行できます:

$ cake bake db_config
$ cake bake model
$ cake bake view
$ cake bake controller
$ cake bake project
$ cake bake test