2014-10-03 70 views
0

我正在开发一个使用PHP Phalcon框架的网站,我真的陷入了路由器的问题,在这里我走了。Phalcon路由器addGet错误

为了限制你的路线相匹配的HTTP方法,我用这个声明:

$router->addGet('/admin/paginas', array(
    'namespace' => 'Backend\Controllers', 
    'controller' => 'pagina', 
    'action' => 'list' 
)); 

但它失败,出现以下错误:

Unexpected value type: expected object implementing Phalcon\DiInterface, null given 

我有一些其他的途径定义在相同的services.php文件中添加并且与它们没有问题,例如:

$router->add('/oportunidades-trabajo', array(
    'controller' => 'page', 
    'action'  => 'oportunidadesTrabajo' 
)); 

完美的作品。我尝试使用 - > via()代替addGet来删除名称空间,更改控制器,使用short sintax,但没有任何方法解决我的问题。

如果我删除此路由声明一切工作正常。

这里是路由器的完整声明:

$di->set('router', function() { 
$router = new Router(false); 

$router->removeExtraSlashes(true); 

# FRONT END 

$router->add('/oportunidades-trabajo', array(
    'controller' => 'page', 
    'action'  => 'oportunidadesTrabajo' 
)); 

# BACK END - Paginas 

# list 
$router->addGet('/admin/paginas', array(
    'namespace' => 'Backend\Controllers', 
    'controller' => 'pagina', 
    'action' => 'list' 
)); 


# NOT FOUND 
$router->notFound(array(
    'controller' => 'page', 
    'action'  => 'page404' 
)); 

$router->handle(); 
return $router; 
}); 

我会很感激你的很多帮助,我坚持这个,我不能与该项目继续下去。

非常感谢您的时间。

+0

你在你的引导过程某处设置你的$双变量?该错误似乎表明它正在寻找$ di,但找到空。 – Peter 2014-10-06 11:03:39

回答