FuelPHPでコマンド実行
FuelPHPではコマンドライン上で使えるようにサポートされているので今回はFuelPHPでのコマンドライン実行の方法をまとめました。
Oilの用意
自分の環境を確認してFuelPHPのoilファイルが入っているかの確認をしてください。入ってない場合は、以下からダウンロードすればOK。
FuelPHP公式
GitHub:Fuel
タスクの確認・実行
Oilを使って有効なタスクの確認※実行はoilファイルとの場所で実行
php oil refine実行結果
Usage: php oil [r|refine]Availabel tasksに実行可能なタスクの一覧が表示されます。Description: Tasks are classes that can be run through the the command line or set up as a cron job. Available tasks: php oil refine robots php oil refine robots:protect php oil refine fromdb php oil refine fromdb:help php oil refine fromdb:scaffold php oil refine fromdb:model php oil refine install php oil refine migrate:help php oil refine session php oil refine session:create php oil refine session:remove php oil refine session:clear php oil refine session:help Documentation: http://docs.fuelphp.com/packages/oil/refine.html
基本的な使い方は「php oil refine PHPファイル名:メソッド名 引数」となっています。
メソッド名の指定がない場合は指定されたPHPファイル内の「run」ファンクションが実行されます。
テスト
FuelPHPにはサンプルとして最初からtaskが入っていますので、実行してみましょう。実行コマンド
php oil refine robots実行結果
"KILL ALL HUMANS!" _____ / /_____\ ____[\*---*/]____ /\ #\ \_____/ /# /\ / \# \_.---._/ #/ \ / /|\ | | /|\ \ /___/ | | | | | | \___\ | | | | |---| | | | | |__| \_| |_#_| |_/ |__| //\\ <\ _//^\\_ /> //\\ \||/ |\//// \\\\/| \||/ | | | | |---| |---| |---| |---| | | | | |___| |___| / \ / \ |_____| |_____| |HHHHH| |HHHHH|
今度はrobotの中のメソッドを指定して実行。
実行コマンド
php oil refine robots:protect実行結果
"PROTECT ALL HUMANS" _____ / /_____\ ____[\*---*/]____ /\ #\ \_____/ /# /\ / \# \_.---._/ #/ \ / /|\ | | /|\ \ /___/ | | | | | | \___\ | | | | |---| | | | | |__| \_| |_#_| |_/ |__| //\\ <\ _//^\\_ /> //\\ \||/ |\//// \\\\/| \||/ | | | | |---| |---| |---| |---| | | | | |___| |___| / \ / \ |_____| |_____| |HHHHH| |HHHHH|ロボットの発言が変わりましたね。
実行されたファイルは以下になります。
・fuel/app/tasks/robots.php
上記のファイルが実行されています。
taskの作成
サンプルを元に新たにtaskを作成してみます。ファイル作成
サンプル用PHPファイル・fuel/app/tasks/hoge.php
ファイル内容
<?php namespace Fuel\Tasks; class Hoge { public static function run($speech = null) { return "hogehoge"; } }
task確認・実行
ファイルの作成が完了したら、taskの追加確認を行います。実行コマンド
php oil refine実行結果
・・・ Available tasks: php oil refine hoge ・・・
新たなtask、hogeが追加されているのを確認したら実行を行っています。
php oil refine hogeコマンド実行結果
hogehoge「hogehoge」と表示されたら成功です。
これでコマンドの実行が出来るようになりました。
昔は全て、OSのバッチファイルだったようですが最近はフレームワーク内でバッチファイルを作ることを前提とした作りをしてるみたいです。
«前の記事:タブレット(DELL Venue 11 Pro)にUbuntuを入れてみたブロッコリー弁当で話題のお弁当屋さんの京香に行ってみました。:次の記事»