Neden bir statik yol için bir yönlendirici hatası alıyorum?

1 Cevap php

Benim bootstrap var

public function initRoutes()
{
    $router = new Zend_Controller_Router_Rewrite();
    $route = new Zend_Controller_Router_Route_Static('register', array('module'=>'members','controller'=>'register','action'=>'index'));
    $router->addRoute('register',$route);
}

ve ben http://domain.com/register gittiğinizde

Ben bu hatayı alıyorum:

Aşağıdaki hata oluştu:

exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (register)' in /var/www/html/beta/library/Zend/Controller/Dispatcher/Standard.php:241 Stack trace: #0 /var/www/html/beta/library/Zend/Controller/Front.php(936): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /var/www/html/beta/application/bootstrap.php(24): Zend_Controller_Front->dispatch() #2 /var/www/html/beta/public/index.php(8): require_once('/var/www/html/b...') #3 {main}

modules / members / kontrolörleri dizininde sınıf Members_RegisterController ile bir RegisterController.php var

Ben yanlış ne yapıyorum emin değilim, ben statik yollar üzerinde kılavuzuna sevk etmiş ve bu çalışması gerektiğini görünüyor

1 Cevap

Eğer bir yönlendirici bir rota ekliyoruz, ancak yönlendirici ön denetleyicisi ait biri değil gibi görünüyor. Oluşturduğunuz yönlendirici kısa sürede initRoutes() fonksiyonu sonlandırır gibi buharlaşır.

Eğer ön denetleyicisi varsayılan yönlendirici kullanmanız gerekir:

$router = $frontCtrl->getRouter();
$router->addRoute( ... );

Yoksa yeni bir yönlendirici oluşturmak ise, ön denetleyicisi için yönlendirici olması için bu yönlendirici ayarlayın:

$router = new Zend_Controller_Router_Rewrite();
// ...add routes...
$frontCtrl->setRouter($router);