2014-03-29 25 views
1

我使用的路由组件来加载控制器,如果我只使用Symfony2的组件,装载控制器

$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.' 

但我不能找到那里一定是我的控制器,或者他们是如何必须包括d将被成功加载。 如果这有帮助,在这一刻我正在使用作曲家自动加载与PSR-0标准。

+0

是你命名空间的吗? – DonCallisto

+0

@DonCallisto,看起来像**命名空间Levelup \ Controller; ** – MyMomSaysIamSpecial

回答

0

“全” 路径解决了这个问题

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

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

1

就像它在Symfony的DOC约routing说,你必须 名使用此模式控制器:

 bundle:controller:action 
+0

我做到了这一点,不工作:(http://i.imgur.com/4lFxHIa.png – MyMomSaysIamSpecial

+0

什么是错误? –

+0

类“测试”不存在:) – MyMomSaysIamSpecial