WindowsでCakePHPコンソール(bake)を使い易くする方法
CakePHP v1.3.0-betaが出ていたので、久しぶりにWindows上でCakePHPを使ってみました。
普段からWindowsのMS-DOSコマンドプロンプトを使うことがほとんど無い僕は、CakePHPのコンソール(bake)を使うために、いちいちコマンドプロンプトを立ち上げてcdで移動して・・・と言う作業が凄く面倒に感じた訳です。
なので、そんな僕の悩みを解決するため、簡単なバッチファイルを書いてみました。
バッチファイルの使い方
以下のコードを console.bat など適当な名前で保存し、cake(コア)フォルダと同じディレクトリに置いて実行して下さい。
自動的にpath\to\cake\consoleへのパスを通し、コマンドを入力可能な状態にしてくれます。
後はプロジェクトフォルダ(appなど)に移動して、cake bakeやら何やらお好きにどうぞ状態です。簡単ですね。
バッチファイルのソースコードと解説
@echo off
goto console
:init
rem Path
if exist "%CD%\cake\console" (
set "CAKECONSOLE=%CD%\cake\console"
) else (
if exist "%CD%\..\cake\console" (
set "CAKECONSOLE=%CD%\..\cake\console"
) else (
echo cake\consoleが見つかりませんでした。
echo.
echo cake\consoleのパスを入力して下さい。
set /p CAKECONSOLE=:
)
)
set "PATH=%PATH%;%CAKECONSOLE%"
rem Alias
doskey cat=type $*
doskey ls=dir /w $*
doskey ll=dir $*
doskey la=dir /a $*
doskey rm=del $*
exit /b
:console
if "%1" equ "init" (
call :init
) else (
prompt $P$_$G$S
start "" /b %COMSPEC% /k %~f0 init
)
cake\consoleへパスを通す
まずバッチファイルの実行フォルダと同階層でcake\console
の存在をチェックし、あれば%PATH%にパスをセットして次へ。
無ければ、一階層上のフォルダでcake\console
を探します。デフォルトのフォルダ構成で開発してる場合は、プロジェクトフォルダ(app)にバッチファイルを置くとスムーズです。
cake\console
が見つからない場合はパスを入力する画面になります。
Aliasの設定
ls
とかcat
とか打っちゃって悲しい気分になるのを防ぎます。
PHPのパスも通したい場合
19行目を以下のように変更。
set "PATH=%PATH%;%CAKECONSOLE%;PHPのパス"
PHPのパスはC:\php
やC:\xampp\php
などですね。
まとめ
- バッチファイルをcake(コア)フォルダと同じ階層に配置
- バッチファイルを実行してCakePHPコンソールを堪能
- おまけ機能でcake(コア)フォルダの一階層上に置いても動く