Silex:可选参数无法正常工作的路由

时间:2012-11-22 21:22:39

标签: symfony routing silex

我的路线有三个参数,总是需要用户ID,a和b是可选参数。可以给出a或(a和b)或(既不是a也不是b):

$app->get('/show/{userid}/{a}/{b}/', function($userid, $a,$b) use($app) {
       ...
})->value('a', 'defaultValueA')->value('b', 'defaultValueB');

所以我想匹配以下网址:

show/12345
show/12345/paramA
show/12345/paramA/paramB

我的代码仅适用于给出所有参数的最后一个版本。有什么问题?

更新

我开始了一个全新的项目并再次测试了我的方法。工作。我把我的.htaccess复制到了这个全新的项目中。仍然有效。所以我(非常一般)的问题是:还有什么可能影响Silex项目中的路由?

1 个答案:

答案 0 :(得分:1)

我正在使用Silex中的翻译服务,并且从http://silex.sensiolabs.org/doc/providers/translation.html的使用示例中过多地复制到我的代码中。所以我上面的路由定义是通过设置中早先定义的定义来捕获的。

$app->get('/{_locale}/{message}/{name}', function ($message, $name) use ($app) {
    return $app['translator']->trans($message, array('%name%' => $name)); });