Something
Emporium

Symfony 1.1 Task Options in Windows

Symfony 1.1's tasks are pretty nice. They let you centralise all the administration of your website that would usually happen through a myriad of batch scripts. When you're writing a task, you'll probably define a command line option as follows:

$this->addOption('env', null, sfCommandOption::PARAMETER_OPTIONAL, 
'Changes the environment this task is run in', 'prod');

But if you're running Windows, any attempt to use your new command line option will be met with failure:

>symfony se:build-search --env="test"

The execution of task "se:build-search" failed.
- Too many arguments ("se:build-search test" given).

symfony se:build-search [--env[="..."]] [--force[="..."]]

The gotcha is that Symfony's example syntax for using the command line argument/option won't work with Windows' cmd.exe, because it considers the "=" sign to be an argument separator. To use an option, you'll want to do this:

>symfony se:build-search "--env=test"

That is, enclose the whole option, including the option name, in speech marks. That'll escape the equals sign.

Dominic