前項でちょろっと「cake の実行時は自作の .bat を使ってる」と書いたけど、実物はこちら。
console.bat
以下、軽くこの説明を。
■内容
こんな感じのバッチファイルです。
:: console.bat
::
:: cake コマンドにパスを通して app に移動すだけのバッチファイル。
:: 以下のディレクトリ構成になっているのが前提。
::
:: hoge
:: ├─app(ここで cake bake したい)
:: │ └─console.bat(このファイル)
:: └─cake
:: └─console
:: └─cake.bat(この cake を実行したい)
::
:: PHP のパスは別途設定すること。
@echo off
:: console.bat の位置に移動する
:: ※Eclipse から呼び出した場合は実行ディレクトリが異なるため、
:: %~dp0(自分自身のドライブ名+パス名)を基準に移動する。
cd /d "%~dp0"..\cake\console
:: パスを通す
set PATH=%PATH%;%CD%
cd ..\..\app
:: コマンド例の出力
echo to bake:
echo cake bake
::コマンドプロンプトを閉じない
cmd /k
注意点は中のコメントに書いてる通りですね。PHP のパスを通しておく&上記のような構成にしておく必要があります。
■使い方
この console.bat を呼び出したら、あとは
cake bake
とかやるだけで bake が呼び出せます。
cake\console\cake bake -app hoge
とかやる必要はないって話です。
Eclipse から呼び出す場合は Ctrl+Shift+R(リソースを開く)→「console」とか入力するだけで実行できる(
GotoFile 入れてるならそっちでももちろん OK)ので、結構重宝してます。
■PHP のパスとか
PHP のパスに依存させたくないのでこういう形式にしてますが、前項で引用した env.bat みたいなのを呼び出す形にしてもよかった気がしてます。本当は Pleiades All in One PHP でやっちゃえばそんな必要もないんですけど・・・この辺の話も近いうちに書きます。
どうでもいいけど、XREA は .bat なんて拡張子のファイルを置かせてくれない&.bat.txt とかにするのもめんどくさいので、Dropbox の public ディレクトリに置いてます。.bat はダウンロードできない、とかそういう場合はご連絡ください。