January 14, 2013

FuelPHPのタスクとオプションの値を確認してみる

まず、テストタスクを作成します。実はoilでも生成出来ます。(確かv1.4から。)
$ php oil g task xxx yyy
        Preparing task method [Yyy]
    Creating tasks: /hoge/fuel/app/tasks/xxx.php
app/tasks/xxx.phpが生成され、デフォルトのfunction runと、コマンドで指定したfunction yyyが用意出来ました。
参考: http://www.fuelphp.com/docs/packages/oil/generate.html#tasks

"arg1"〜"arg5"をDebug::dumpするように書き足します。
public static function yyy($args = NULL)
{
     echo "\n===========================================";
     echo "\nRunning task [Xxx:Yyy]";
     echo "\n-------------------------------------------\n\n";

     /***************************
      Put in TASK DETAILS HERE
      **************************/
     \Debug::dump(\Cli::option('arg1'));
     \Debug::dump(\Cli::option('arg2'));
     \Debug::dump(\Cli::option('arg3', false));
     \Debug::dump(\Cli::option('arg4', 'default'));
     \Debug::dump(\Cli::option('arg5', false));
}
実行してみます。
$ php oil r xxx:yyy --arg1 --arg5=zzz

===========================================
Running task [Xxx:Yyy]
-------------------------------------------

bool(true)
NULL
bool(false)
string(7) "default"
string(3) "zzz"
* オプション名を入力するだけだとtrue (arg1)
* オプション名を入力せずCli::optionの第二引数に何も指定しないとnull (arg2)
* オプション名を入力せずCli::optionの第二引数に何か指定するとその値 (arg3/arg4)
* オプション名を値とセットで入力するとその値(arg5)
という結果になりました。
参考: http://www.fuelphp.com/docs/classes/cli.html#/method_option

No comments:

Post a Comment