Пару часов назад Qiang залил в SVN Yii улучшения для консольных команд.
Теперь можно так:
yiic CommandName ActionName --Option1=Value1 --Option2=Value2 ...
При этом опции передадутся именованными параметрами сответствующим методам-действиям команды.
Например для вот такой команды:
class SitemapCommand extends CConsoleCommand { public function actionIndex($type, $limit=5) { ... } public function actionInit() { ... } public function actionProcess(array $type) { ... } public function actionSelfdestruct($confirm=false) { ... } }
можно передать параметры так:
yiic sitemap index --limit=5 --type=News yiic sitemap index --type=News yiic sitemap --type=News yiic sitemap process --type=News --type=Post yiic sitemap selfdestruct --confirm
- Порядок параметров не важен.
- Параметры с значениями по умолчанию можно не указывать.
- Если указать параметр без значения, получим на входе
true
. - Если не указать действие, то будет вызвано действие
index
. - Если указать параметр более одного раза и действие принимает параметры типа
array
, получим в параметре массив.
Все улучшения обратно совместимы, так что существующие команды будут работать как раньше.