我有这样的路线:
'cronExec' => array(
'options' => array(
'route' => 'exec [<commands>]',
'defaults' => array(
'controller' => 'Cron\Controller\Commands',
'action' => 'exec'
)
)
),
这将抓住:
但是我还希望用无限数量的参数来捕捉第二个:
或以任何其他方式允许我将无限的,未知的命名参数发送到指定的命令,但仅当execCmd设置在它之前
答案 0 :(得分:2)
'cronExec' => array(
'type' => 'Catchall',
'options' => array(
'route' => 'exec',
'defaults' => array(
'controller' => 'Cron\Controller\Commands',
'action' => 'exec'
)
)
),
<强> UPDATE1 强>
或者您可以在单个参数中传递任何参数。
'cronExec' => array(
'options' => array(
'route' => 'exec [--params=]',
'defaults' => array(
'controller' => 'Cron\Controller\Commands',
'action' => 'exec'
)
)
),
称之为
php public/index.php exec --params="--any --other --params"
并在控制器中使用$this->params('params')
或其他任何内容getopt
解析。