Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。
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という名前で保存しています。