2011-08-03 8 views

答えて

2

私はあなたができないと信じていますが、引数の1つを使用して環境ごとにタスクを実行できます。 これは、タスクの設計のためだと思います。たとえば、ただ1つの環境でgenerate:moduleを実行する理由は何ですか?しかし、明らかに、開発環境だけでcache:clearを実行したいと思うでしょう。

ちょうど開発環境でcache:clearを使用するには、このようにそれを呼び出すことができます。

php symfony cache:clear --app="frontend" --env="dev" --type="all" 

あなたがして、タスクの完全な引数を参照することができます。たとえば

php symfony help "task" 

php symfony help cache:clear 
0

あなたが作成したタスクには、次のオプションもあります。

protected function configure() 
{ 
    $this->addOptions(array(
     new sfCommandOption('app', null, sfCommandOption::PARAMETER_OPTIONAL, 'The application name', null), 
     new sfCommandOption('env', null, sfCommandOption::PARAMETER_OPTIONAL, 'The environment', null) 
    )); 

    $this->namespace = 'my'; 
    $this->name = 'task'; 
    $this->briefDescription = 'Thats my task'; 

} 

protected function execute($arguments = array(), $options = array()) 
{ 

    // get the values while executing the task 
    $application = $arguments['application']; 
    $environment = $arguments['env']; 

} 
関連する問題