Пару часов назад 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
, получим в параметре массив.
Все улучшения обратно совместимы, так что существующие команды будут работать как раньше.