J'essaye de créer un sous-domaine en utilisant le Zend Router, et puis pour chaque section sous un sous-domaine, tel que subdomain.site.com/section/, je crée une autre route et essaye ensuite de la chaîner à la route de sous-domaine. mais je ne sais pas comment. J'ai lu toute la documentation que j'ai pu trouver et tous les forums, mais cela m'amène à me débrouiller tout seul. Jusqu'à présent, mes tentatives me obtenir cette erreur:Comment écrire des chaînes de routage pour un sous-domaine dans Zend Framework dans un fichier INI de routage?
Catchable fatal error: Argument 2 passed to Zend_Controller_Router_Rewrite::addRoute() must implement interface Zend_Controller_Router_Route_Interface, null given, called in /var/local/zend/library/Zend/Controller/Router/Rewrite.php on line 155 and defined in /var/local/zend/library/Zend/Controller/Router/Rewrite.php on line 93
avec le code suivant:
routes.b2b.type = "Zend_Controller_Router_Route_Hostname"
routes.b2b.route = "sales.sitename.com"
routes.b2b.defaults.module = b2b
routes.b2b.defaults.controller = index
routes.b2b.defaults.action = index
routes.b2b_signup.type = "Zend_Controller_Router_Route_Static"
routes.b2b_signup.route = "/signup"
routes.b2b_signup.defaults.controller = "index"
routes.b2b_signup.defaults.action = "signup"
routes.b2b_login.type = "Zend_Controller_Router_Route_Chain"
routes.b2b_login.chain = b2b_signup
Je ne peux pas trouver un exemple de la façon de faire enchaînant cela avec un fichier INI partout sur le net. L'application entière est écrite dans une INI pour la config de routage, donc je ne peux pas la passer à une configuration basée sur une matrice (ou XML), dans laquelle 100% des exemples sur Internet sont po
Si je pouvais le faire sous forme de tableau, je pouvais dire ceci:
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
'sales.sitename.com',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'index'
)
);
$hostnameRoute = new Zend_Controller_Router_Route_Static(
'/signup',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'signup'
)
);
$chainedRoute = new Zend_Controller_Router_Route_Chain();
$chainedRoute->chain($b2b_signup)
Est-ce que quelqu'un a des idées sur la façon de faire ce qui précède dans un fichier INI?
C'est exactement la réponse que je cherchais. Vous m'avez vraiment aidé depuis que je viens de commencer à travailler avec la ZF il y a quelques mois et il n'y a littéralement rien sur Internet que j'ai pu trouver (je suppose jusqu'à présent) qui décrivait comment faire cela dans l'INI. Merci beaucoup! Pouvez-vous recommander de bons livres pour ZF? – Dan
Non, malheureusement. Je n'ai jamais lu aucun livre (ou livre?) Sur le Zend Framework. Cela dit, Zend Framework in Action de Rob Allen http://www.zendframeworkinaction.com/ est supposé être bon. Cependant, en raison de la rapidité du développement avec ZF, les livres deviennent rapidement obsolètes; très vite. Par exemple, rien dans les chaînes de routage, Zend_Application ou Zend_Tool ne figurerait dans ce livre. – jason
"Vous pouvez continuer à enchaîner! Chaînes de chaînes peuvent avoir des chaînes." Je me demandais que l'on est dans le bon sens: 1. routes.b2b.chains.anotherroute.chains.yetanotherroute ... 2. routes.anotherroute.chains.yetanotherroute ... –