2009-06-11 4 views
1

Ich habe in meinem BootstrapWarum erhalte ich einen Routerfehler für eine statische Route?

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); 
} 

und als ich http://domain.com/register

gehen bekomme ich diesen Fehler:

Folgender Fehler ist aufgetreten:

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} 

in den Modulen/Mitglieder/controllers Verzeichnis gibt es eine RegisterController.php mit der Klasse Members_RegisterController

Ich bin nicht sicher, was ich tue, falsch, ich habe auf statische Routen auf das Handbuch verwiesen und es scheint, dass diese

Antwort

4

wie Sie an einen Router eine Route hinzufügen Sieht aus arbeiten sollte, aber der Router ist nicht der eine, die zu Ihrem Front Controller gehört. Der von Ihnen erstellte Router verdampft, sobald Ihre initRoutes()-Funktion beendet wird.

müssen Sie entweder die Standard-Router Ihres Front-Controller verwenden:

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

Oder, wenn Sie einen neuen Router erstellen, setzen, dass Router der Router für den Front-Controller zu sein:

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