2017-06-23 2 views
0

私はケーキのシェルスクリプトに取り組んでいます。いくつかの名前付き引数を使用すると、たとえば:CakePHPシェル引数にアクセスするには?

--username=world 

「username」パラメータ/値を取得するにはどうすればよいですか?

私のコードは次のようになります。

class InviteShell extends AppShell 
{ 
//... here are my methods. 

public function getOptionParser() 
    { 
     $parser = parent::getOptionParser(); 
     $parser->addArgument('username', array(
      'help' => 'Send E-Mail to which user?' 
     ))->addOption('method', array(
      'short' => 'm', 
      'help' => __('The specific method you want help on.') 
     ))->description(__('Lookup doc block comments for classes in CakePHP')); 
     return $parser; 
    } 

} 

と引数とオプションの違いは何ですか?また、これらのオプションを自分のコードでどのように読むことができますか?

私は$ this-> args配列を読むことができますが、名前は付けられていません。私にできることすべては、私はケーキ2.9

答えて

0

引数を使用しています[0]

指標、例えば:ます$ this->引数で引数を取得している位置の値であり、オプションは接頭辞値は次のとおりです。

shell_method argument1 argument2 --optionA=value --optionB=value 

あなたのケースでは、usernameは位置0で検索される位置引数であり、methodは任意の場所にある可能性のある接頭辞オプションです。

shell_method userA --method=methodX 
shell_method --method=methodX userA 

両方の場合において、userA値は$this->args[0]に利用できるようになり、そしてmethodX値が$this->params['method']または$this->param('method')を介して利用できるようになります。

を参照してください。
関連する問題