どうもゴエです。
仕事上PHPに触れる事が多いのですが、あまりPHPのフレームワークというものを利用したことが無かったので、最近、勉強がてら「Fuel PHP」というフレームワークを弄っていました。
普段だとSSH上から「php 【実行するパス】」で叩いてたんだけど、それだとFuelPHPでは動かないみたい?
なのでFuelPHPを弄っている中でバッチ処理である「tasks」をデバッグモードで動かして、実際の動きを確認したかったんだけど、そのやり方が分からなく普段のやり方でやったらドツボにハマったのでメモメモ
今回は以下の環境でやってみました。
PHP STORM ver 8.0.3
Fuel PHP ver1.7
Xampp 1.8.1
デバッグはXdebug
※ここではXdebugの設定やPHPSTORMなどの設定は省きます。
デバッグ設定する前に
FuelPHPは「tasks」の中に「robots.php」そいつを叩くと、ロボットのAAが表示されるというサンプルプログラムがあるので、今回はコレをベースにやってみる。
基本的にFuelPHPではtaskを実行する時は以下のようにoilコマンドを使って実行するらしい。
php oil refine robots
このoilは見てみるとルートフォルダ「ここではfuelphpにしています。」の直下にある「oil」というファイルを利用しているみたい。
なのでこのoliファイルを開くと何やらphpソースが書いてあるけど、PHPSTORMでは「oil」を「phpファイル」として認識していないのでテキストとして表示される。
このままだと気持ち悪いので、PHPSTORMの設定を弄って「oil」を「PHPファイル」として認識させる。
設定方法
まずPHPSTORMのメニューから「File」を選択し「setting」を開く。
そして「Editor」→「File Types」を選択し、「Recognized File Types」内にある「PHP files」を選択します。
「PHP files」を選択すると「Registered Patterns」にある「+」ボタンを押して「oil」を登録すればphpファイルとして読み込まれます。
tasksをデバッグする
今回のデバッグ設定は下記サイトを参考にしました。
oilファイルをPHPファイルとして認識させたので、次はtasksをデバッグする。
はじめにoilファイルの最初の処理にブレークポイントを貼っておくw
次に、メニューから「Run」→「Edit Configurations…」を開く。
編集画面で「PHP Script」を選択後、「Configurations」内にある「File」には先ほど設定した「oil」ファイルのパスを記述する。
C:\xampp\htdocs\fuelphp\oil
次に「Arguments」項目に実行したいtasksのコマンドを記述する。
今回はサンプルの「robots.php」を実行するので以下のような記述をする。
refine robots
んで終わり。
後は実際にデバッグを実行し、最初にoilに貼ったブレークポイントが起動すれば成功。
まとめ
最初自分は今までと同じようにFileにrobots.phpのパスを書いてやってみたら違っていたのね・・・w
まだ、FuelPHPは触れて間もないからもっと違うやり方があるかも知れないし、もしかしたらoilを使わなくてもバッチ処理出来るかもしれないけど、
とりあえずはこのままやっていこうw
[amazonjs asin=”4899774222″ locale=”JP” tmpl=”Small” title=”はじめてのフレームワークとしてのFuelPHP 改訂版”]
[amazonjs asin=”4800710642″ locale=”JP” tmpl=”Small” title=”改訂 FuelPHP入門”]
コメント