当我在路径上挂载控制器集合时,默认值不起作用,我被迫提供一个值。
// app.php
...
$app->mount('/path/', MyControllerProvider());
....
// my controller provider
class MyControllerProvider implements ControllerProviderInterface
{
public function connect(Application $app)
{
$controllers = $app['controllers_factory'];
$controllers->get('/{param}', function($param) {
return $param;
})
->value('param','foo');
}
}
当我尝试访问/ path /我可以关注错误:
NotFoundHttpException:找不到“GET / path /”
的路由如果我访问/ path / somevalue,那么它可以工作。
如果您向主$ app添加路由,但在安装时没有路由,则默认值可以正常工作。
答案 0 :(得分:0)
Silex将带有和不带斜杠的路径视为不同的路径。有关此事的问题已发布在github上:https://github.com/silexphp/Silex/issues/149。
您可以尝试将两个路径注册到同一个函数(代码看起来很奇怪但应该可以工作)。