cake1.2でbakeを使う

user-pic
0
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という名前で保存しています。
 

 

トラックバック(1)

トラックバックURL: http://php.sunvisor.net/mt/mt-tb.cgi/70

そもそもbakeを使ったアプリ開発の流れ 1.基本のファイル郡作成 bake実行後 Welcome to CakePHP ... 続きを読む

コメントする

このブログで公開した情報は,のちほど Sunvisor Lab. CakePHP のコンテンツにまとめていますので,そちらも参照してみてください。

オススメの本

CakePHP初の公認ガイドブック。まずこれを読む。

CakePHPでの開発の際には常に机上に準備するべし。

CakePHP 1.2を使い始めるならこの本が必携。

CakePHP 1.2での実践が理解できる。

このブログ記事について

このページは、Sunvisorが2008年12月 9日 14:38に書いたブログ記事です。

ひとつ前のブログ記事は「CSVファイルをDBにインポート」です。

次のブログ記事は「A5:SQLのER図にCakePHP仕様のテーブルを追加するスクリプト」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。