2

当我在路径上安装控制器集合时,默认值不起作用,我被迫提供一个值。

// 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 添加路由但在挂载时不会,默认值可以正常工作。

4

1 回答 1

0

Silex 将带有和不带有斜杠的路径视为不同的路径。关于此的问题已发布在 github 上:https ://github.com/silexphp/Silex/issues/149 。

您可以尝试将两个路径注册到同一个函数(代码看起来有点奇怪,但应该可以工作)。

于 2014-05-11T22:02:59.080 回答