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;
});
我会很感激你的很多帮助,我坚持这个,我不能与该项目继续下去。
非常感谢您的时间。
你在你的引导过程某处设置你的$双变量?该错误似乎表明它正在寻找$ di,但找到空。 – Peter 2014-10-06 11:03:39