1

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

$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 标准的作曲家自动加载。

4

2 回答 2

1

就像 Symfony 文档中关于路由的说法一样,您必须使用以下模式命名您的控制器:

     bundle:controller:action
于 2014-03-29T22:20:09.363 回答
0

“完整”路径解决了问题

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

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

于 2014-03-31T05:45:19.057 回答