ウェブ、ショウジン

CakePHPでbakeを利用する

2009-8-27
Category
PHP

Ubuntu ServerにセットアップしたCakePHPでbakeを利用する。

  • 先に使用するDBにテーブルを用意しておくこと。
  • 新しくCakePHPアプリを作成するにあたっては、最初のセットアップを忘れないこと。(データベース設定ファイルについてはしなくていい。これからやるbakeでのセットアップでやるので)
    Ubuntu ServerにCakePHPをインストールする

bakeは1.2でcakeのサブコマンドになっていますので、まずcakeコマンドへのPATHを設定します。(Debian GNU/Linuxでzshの場合)

CakePHP 1.2の単体テスト作成にはbakeが便利 (前編) より

ということらしいので、今回自分で試してみようと思っている/var/www/baking/というCakePHPアプリケーションのディレクトリ内で、該当のPATHを以下のように通してみる。

$ export PATH=$PATH:~/var/www/baking/cake/console/

(ターミナルを終了しない限りは、このPATHは生きているらしい)

bakeを起動させる。

$ cake
The program 'cake' is currently not installed.  You can install it by typing:
sudo apt-get install cakephp-scripts
-bash: cake: command not found

コマンドとしての「cake」を実行するのに、それ自体が足りないと。(cakephp-scriptsというパッケージをインストールしなさいと)

「cakephp-scripts」をパッケージマネージャで検索してみる。

$ apt-cache search cakephp-scripts
cakephp-scripts - MVC rapid application development framework for PHP (scripts)

やはりPHPのフレームワーク(この例で言えばCakePHP)を利用するのに必要なものだということが分かったので、このパッケージをsudoしてapt-get installする。

$ sudo apt-get install cakephp-scripts

インストール出来たら再度「cake」コマンドを実行。
すると、以下のような画面が出現して、またプロンプトに戻る。

これでbakeを利用する準備が出来た模様。(異なるCakePHPアプリケーションで利用するたびに、冒頭のPATHの設定は必要)

Welcome to CakePHP v1.2.0.7692 RC3 Console
---------------------------------------------------------------
Current Paths:
 -app: libs
 -working: /var/www/baking/cake/console/libs
 -root: /var/www/baking/cake/console
 -core: /usr/share/php/

Changing Paths:
your working path should be the same as your application path
to change your path use the '-app' param.
Example: -app relative/path/to/myapp or -app /absolute/path/to/myapp

Available Shells:

 cake/console/libs/:
	 bake
	 acl
	 i18n
	 api
	 testsuite
	 schema
	 console

To run a command, type 'cake shell_name [args]'
To get help on a specific command, type 'cake shell_name help'

bakeの開始(DB設定から)

今回bakeを利用しようとしているCakePHPアプリケーションのディレクトリ内の/appに移動して、以下コマンドを実行。

$ cake bake

すると、ここからbakeとの対話型のセットアップが始まる。英語だけれども、簡単な内容なので詳細は割愛。

Welcome to CakePHP v1.2.0.7692 RC3 Console
---------------------------------------------------------------
App : app
Path: /var/www/baking/app
---------------------------------------------------------------
Your database configuration was not found. Take a moment to create one.
---------------------------------------------------------------
Database Configuration:
---------------------------------------------------------------
Name:
[default] >
Driver: (db2/firebird/mssql/mysql/mysqli/odbc/oracle/postgres/sqlite/sybase)
[mysql] >
Persistent Connection? (y/n)
[n] > n
Database Host:
[localhost] >
Port?
[n] >
User:
[root] >
Password:
> hanage
Database Name:
[cake] > db2
Table Prefix?
[n] >
Table encoding?
[n] > utf8

---------------------------------------------------------------
The following database configuration will be created:
---------------------------------------------------------------
Name:         default
Driver:       mysql
Persistent:   false
Host:         localhost
User:         root
Pass:         ******
Database:     db2
Encoding:     utf8
---------------------------------------------------------------
Look okay? (y/n)
[y] >

設定の確認画面で確認をして、bakeでのセットアップが完了したら/app/config/の中にdatabase.phpが作成されていることを確認する。これがbakeで自動作成されたDB設定ファイル。

引き続きbakeを起動させて必要なものを生成していく。再度「$ cake bake」コマンドを実行。

ここで立ち上がってくるのが、本来のbakeのメニュー画面。前段階での設定メニューは、データベース設定ファイルがないことから強制的に立ち上がってくるデータベース設定ファイルの作成メニュー。

Welcome to CakePHP v1.2.0.7692 RC3 Console
---------------------------------------------------------------
App : app
Path: /var/www/baking/app
---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew

ontroller
[P]roject
[Q]uit
What would you like to Bake? (D/M/V/C/P/Q)
>

モデルやコントローラやビュー等、必要なものを選んでそれぞれを設定していく。

とりあえず、ここまで。

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿