Zend framework module, controller, action specific routes -
in zend framework application, have routes , defaults like:
resources.router.routes.plain.defaults.module = "index" resources.router.routes.plain.defaults.controller = "index" resources.router.routes.plain.defaults.action = "index" i want able change default routes module or controller or action e.g.
let's assume module/controller/action structure:
content --- article --- read                     --- write         --- news    --- list                     --- write user    --- auth    --- signin                     --- signout         --- access  --- check                     --- update in architecture,
for module=content want  controller=article default controller ,  action=read default action.
 if controller=news chosen action=list becomes default action
for module= user want controller=auth default controller , action=signin default action. if controller=access chosen action=check becomes default action.
so possible in application.ini? , how example?
thanks in advance.
random thoughts:
you define route each module points specific actions defaults.
resources.router.routes.user.route = "user/:controller/:action/*" resources.router.routes.user.defaults.module = "user" resources.router.routes.user.defaults.controller = "auth" resources.router.routes.user.defaults.action = "signin" you define module_indexcontroller::predispatch() or user_accesscontroller::indexaction() uses _forward send request proper "default":
// delaing redirect in predispatch // affect requests controller class user_indexcontroller extends zend_controller_action {   public function predispatch() {     // send default location user module:     $this->_forward('signin', 'auth')   } }  // dealing redirect in indexaction: // affect requests go "index" action class user_accesscontroller extends zend_controller_action {   public function indexaction() {     // send default location user module:     $this->_forward('check')   } } from zend framework documentation - controller utility methods
_forward($action, $controller = null, $module = null, array $params = null): perform action. if called inpredispatch(), requested action skipped in favor of new one. otherwise, after current action processed, action requested in_forward()executed.
Comments
Post a Comment