2013年12月14日土曜日

FuelPHP コマンドラインから実行する

FuelPHPでコマンドラインから実行するスクリプトを作ろうとしたのですが、
作成の仕方がわからず詰まったのでメモ。
oilコマンドで簡単に実行できcronからも呼び出せるそうです。




プロジェクト名/fuel/app/tasks/内にコマンドラインから実行するクラスを追加していきます。
すでにrobots.phpが、存在しているので試しに動かしてみましょう。
コマンドラインから実行するにはoilファイルがあるプロジェクト直下にあるでoilコマンドを実行します。
php oil refine robots

                                        "KILL ALL HUMANS!"
                                  _____     /
                                 /_____\
                            ____[\*---*/]____
                           /\ #\ \_____/ /# /\
                          /  \# \_.---._/ #/  \
                         /   /|\  |   |  /|\   \
                        /___/ | | |   | | | \___\
                        |  |  | | |---| | |  |  |
                        |__|  \_| |_#_| |_/  |__|
                        //\\  <\ _//^\\_ />  //\\
                        \||/  |\//// \\\\/|  \||/
                              |   |   |   |
                              |---|   |---|
                              |---|   |---|
                              |   |   |   |
                              |___|   |___|
                              /   \   /   \
                             |_____| |_____|
                             |HHHHH| |HHHHH|

ロボットが出てきます(笑)

php oil refine robotsでrobots.phpのrunメソッドが実行されます。
runは特殊なメソッドでメソッドを指定しない場合、runが実行されます。
今度はprotectメソッドを実行してみます。
php oil refine robots:protect

                                        "PROTECT ALL HUMANS"
                                  _____     /
                                 /_____\
                            ____[\*---*/]____
                           /\ #\ \_____/ /# /\
                          /  \# \_.---._/ #/  \
                         /   /|\  |   |  /|\   \
                        /___/ | | |   | | | \___\
                        |  |  | | |---| | |  |  |
                        |__|  \_| |_#_| |_/  |__|
                        //\\  <\ _//^\\_ />  //\\
                        \||/  |\//// \\\\/|  \||/
                              |   |   |   |
                              |---|   |---|
                              |---|   |---|
                              |   |   |   |
                              |___|   |___|
                              /   \   /   \
                             |_____| |_____|
                             |HHHHH| |HHHHH|

クラス名の後ろに:メソッド名でメソッドを指定して実行します

引数を与えて実行することもできます。スペースで引数を増やせます。
php oil refine クラス名 メソッド名:引数1 引数2


tasks内に作成したphpからFuelPHPのライブラリを呼び出せるので簡単にcron用のスクリプトが作れます!!

0 件のコメント :

コメントを投稿