Вы можете сделать что-то похожее в этой задаче, возможно:
class MyTask extends sfBaseTask
{
protected function configure()
{
// Env config file
$file = sfConfig::get("sf_config_dir") . DIRECTORY_SEPARATOR . "environment.cfg";
$env = (file_exists($file) ? file_get_contents($file) : "prod");
$this->addOptions(array(
new sfCommandOption('env', null, sfCommandOption::PARAMETER_REQUIRED, 'The environment', $env),
}
}
Выше должно работать; по умолчанию используется среда prod, если файл environment.cfg не существует. Это также предполагает, что в файле есть только среда (например, «prod», «dev», «slappythefish» и т. Д.).