Comme vous le savez, Zend Framework (v1.10) utilise le routage basé sur des paramètres séparés par des barres obliques, ex.Routage basé sur la chaîne de requête PHP standard
[server]/controllerName/actionName/param1/value1/param2/value2/
Queston est: Comment forcer Zend Framework, retrive action et nom contrôleur à l'aide chaîne de requête standard PHP, dans ce cas:
[server]?controller=controllerName&action=actionName¶m1=value1¶m2=value2
J'ai essayé:
protected function _initRequest()
{
// Ensure the front controller is initialized
$this->bootstrap('FrontController');
// Retrieve the front controller from the bootstrap registry
$front = $this->getResource('FrontController');
$request = new Zend_Controller_Request_Http();
$request->setControllerName($_GET['controller']);
$request->setActionName($_GET['action']);
$front->setRequest($request);
// Ensure the request is stored in the bootstrap registry
return $request;
}
Mais cela n'a pas fonctionné pour moi.
Cela a presque fonctionné, j'ai dû étendre My_Router de Zend_Controller_Router_Rewrite ou implémenter les méthodes d'interface restantes. La première solution était plus rapide;) Maintenant, cela fonctionne très bien. THX! – singles
Selon le manuel, vous étiez censé avoir seulement à mettre en œuvre cette méthode. L'API semblait dire le contraire, j'étais confus. Vous pouvez également essayer d'étendre Zend_Controller_Router_Abstract au lieu de Zend_Controller_Router_Rewrite. Ils ont besoin d'un meilleur exemple dans le manuel. – smack0007