Silex - 301在ControllerProvider中定义根路径时

时间:2014-08-24 06:13:40

标签: php api controller silex

我有一个使用实现ControllerProviderInterface的类的silex用户管理API。控制器提供程序安装在'/ user'前缀上,它包含一个路由'/ user / list',用于列出我数据库中的用户。请参考下面的课程。

class UserControllerProvider implements ControllerProviderInterface
{
    /**
     * @param Application $app An Application instance
     *
     * @return ControllerCollection A ControllerCollection instance
     * @throws RuntimeException if ServiceController service provider is not registered.
     */
     public function connect(Application $app)
     {
         if (!$app['resolver'] instanceof ServiceControllerResolver) {
             throw new RuntimeException('You must enable the ServiceController service provider to be able to use these routes.');
         }

         /** @var ControllerCollection $controllers */
         $controllers = $app['controllers_factory'];

         $controllers->get('/login', 'user.controller:loginAction')
             ->bind('user.login');

         $controllers->method('GET|POST')->match('/login_check', function() {})
             ->bind('user.login_check');

         $controllers->get('/logout', function() {})
             ->bind('user.logout');

         $controllers->method('GET')->match('/list', 'user.controller:listAction')
             ->bind('user')
             ->before(function(Request $request) use ($app) {
         });
     }
}

'/ user / list'路由正常运行。我正在尝试将列表路由更改为'/ user /':

        $controllers->method('GET')->match('/', 'user.controller:listAction')
             ->bind('user')
             ->before(function(Request $request) use ($app) {
         });

当我这样做时,我在应用程序日志中获得以下行,并将其重定向到'/'(我的主页):

[2014-08-24 05:40:26] app.INFO: < 301 /user/ [] []

有没有人建议如何在此ControllerProvider中定义路径'/ user /'而不会遇到此问题?关于如何调试这个的任何建议也是受欢迎的。

0 个答案:

没有答案