我有一个使用实现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 /'而不会遇到此问题?关于如何调试这个的任何建议也是受欢迎的。