Symfony2组件,加载控制器

时间:2014-03-29 22:04:26

标签: php symfony routing symfony-components

我正在使用路由组件加载控制器,如果我只使用

$routes->add(
    'index',
    new Route('/', array('_controller' => 'indexAction'))
);

我的“项目”完美地加载了indexAction函数,但如果我尝试这样的东西

$routes->add(
    'index',
    new Route('/', array('_controller' => 'Test::indexAction'))
);

它说

Uncaught exception 'InvalidArgumentException' with message 'Class "Test" does not exist.'

但我无法找到我的控制器必须在哪里,或者必须如何包含它们才能成功加载。 如果这有帮助,此时我正在使用PSR-0标准的composer autoload。

2 个答案:

答案 0 :(得分:1)

就像它在Symfony上关于routing的文件所说的那样,你必须这样做 使用以下模式命名控制器:

     bundle:controller:action

答案 1 :(得分:0)

"全"路径解决了问题

new Route('/', array('_controller' => 'Levelup\\Controller\\Test::indexAction'))

测试:: indexAction 更改为 Levelup \ Controller \ Test :: indexAction