2014-10-03 165 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

回答