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