cake1.2でbakeを使う

xampp環境にCakePHP 1.2(以後cake1.2)をインストールする際には,xamppのドキュメントルート(xampp\htdocs)に入れるというのが一般的で,いろんなとこの解説にもそう書いてあります。僕の場合はそれをxamppのルート(xampp\cake)に入れるようにしました。ドキュメントルートに入れると,/cake/app/にアクセスしたらすぐに動作確認できるのでいいのですが,ドキュメントルートからは外した位置に入れたかったのです。bake でプロジェクトを作成する方法をとれば,それでも全然問題なく利用できます。

Bakeでプロジェクトを作る

アプリケーションを開発する際には,cake1.2の場合は,cake.phpでもってプロジェクトを作成します。

cake.phpをWindows環境で使用する場合は,cake.batを使うのがいいようです。php.exeにはパスが通っていなければなりません。コマンドプロンプトを立ち上げてcake.phpがあるフォルダ,<Cakeのインストールフォルダ>\cake \consoleをカレントフォルダにします。cake.batのあるフォルダにパスを通さなければならないという記述がいくつかのサイトにありますが,それは不要です。

D:\>cd C:\xampp\cake\cake\console

プロジェクトを作成するためにbake projectオプションを指定し,appフォルダの作成先を-appオプションで指定します。書籍「徹底入門」ではbakeオプションのみで実行するようになっていますが,そうするとプロジェクトの作成後,そのままデータベース設定になだれ込みます。「徹底入門」にあるようにプロジェクトの作成だけを行いたい場合は,bake projectを指定します。

D:\xampp\cake\cake\console>cake bake project -app D:\xampp\htdocs\new_project

次のような画面が表示されます。

Welcome to CakePHP v1.2.0.7692 RC3 Console
---------------------------------------------------------------
App : new_project
Path: D:\xampp\htdocs\new_project
---------------------------------------------------------------
What is the full path for this app including the app directory name?
Example: D:\xampp\htdocs\new_project\myapp
[D:\xampp\htdocs\new_project\myapp] > D:\xampp\htdocs\new_project

最後に不要なmyappという設定がついていますので,それを省いたパスを指定し直します。

Bake Project
Skel Directory: D:\xampp\cake\cake\console\libs\templates\skel
Will be copied to: D:\xampp\htdocs\new_project
---------------------------------------------------------------
Look okay? (y/n/q)
[y] > y
Do you want verbose output? (y/n)
[n] > y

「くどくどと出力してもよろしいでっか?」と聞いてきます。yとすると作業内容を出力してくれます。

---------------------------------------------------------------
Created: new_project in D:\xampp\htdocs\new_project
---------------------------------------------------------------
D:\xampp\htdocs\new_project created
D:\xampp\cake\cake\console\libs\templates\skel\.htaccess copied to D:\xampp\htdo
cs\new_project\.htaccess

(くどくど・・・・)

Random hash key created for 'Security.salt'
CAKE_CORE_INCLUDE_PATH set to D:\xampp\cake in webroot/index.php
CAKE_CORE_INCLUDE_PATH set to D:\xampp\cake in webroot/test.php
Remember to check these value after moving to production server

これで指定したパスにプロジェクトが作られます。ブラウザでアクセスしたら,「甘いケーキが焼けたよ!」てなページが表示されます。この後,

D:\xampp\cake\cake\console>cake bake -app D:\xampp\htdocs\test_project

とprojectをつけずに実行します。まだデータベース設定が行われていないので,データベース設定の画面が現れます。データベースの設定を完了するといったん終了しますので,もう一度同じコマンドを実行すると,やっとメニューが表示されます。

D:\xampp\cake\cake\console>cake bake -app D:\xampp\htdocs\test_project

Welcome to CakePHP v1.2.0.7692 RC3 Console

---------------------------------------------------------------
App : new_project
Path: D:\xampp\htdocs\new_project
---------------------------------------------------------------
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)

これで必要な部品をbakeして開発の元とします。

Eclipseにプロジェクトを追加

開発にはEclipse+PDTを使用していますが,ワークスペースはドキュメントルートに指定しています。CakeのCoreディレクトリを PHPプロジェクトとして追加しておきます。bakeでロジェクトを作ったならば,そのフォルダもPHPプロジェクトとして追加します。PHPインクルードパスにCakeのCoreプロジェクトを追加しておきます。

Eclipse PDTでのCakePHP開発時のコード補完に関する情報にあるようにctpファイルの中からヘルパーのコード補完をするためのファイルは,appフォルダのvendorフォルダに,viw_link.phpという名前で保存しています。

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。