public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { $actionName = $request->getActionName(); $curMethod = strtolower($request->getMethod()); if (in_array($curMethod, $this->allowMethods)) { $request->setActionName($actionName . ucfirst($curMethod)); } else { if ($this->denyRedirectURL) { $response->setRedirect($this->denyRedirectURL); } else { die($this->denyMsg); } } }
/** * 路由结束事件 * * @author mrmsl <*****@*****.**> * @date 2012-12-25 09:33:26 * @lastmodify 2013-02-17 11:43:31 by mrmsl * * @param object $request Yaf_Request_Http实例 * @param object $response Yaf_Response_Http实例 * * @return void 无返回值 */ public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { define('CONTROLLER_NAME', $request->getControllerName()); //控制器 define('ACTION_NAME', $request->getActionName()); //操作方法 define('REQUEST_METHOD', $request->getMethod()); //请求方法 define('TEMPLATE_FILE', THEME_PATH . strtolower(CONTROLLER_NAME) . '/' . ACTION_NAME . C('TEMPLATE_SUFFIX')); //模板文件 define('REFERER_PAGER', empty($_SERVER['HTTP_REFERER']) ? '' : urldecode($_SERVER['HTTP_REFERER'])); //来路页面 //请求uri if (isset($_SERVER['REQUEST_URI'])) { define('REQUEST_URI', urldecode($_SERVER['REQUEST_URI'])); } else { $querystring = $request->getQuery(); /** * @ignore */ define('REQUEST_URI', urldecode($request->getRequestUri() . ($querystring ? '?' . http_build_query($querystring) : ''))); } $this->_denyControllers(); //禁止直接访问Error,Base控制器 if ($languages = F(MODULE_NAME . DS . LANG . DS . strtolower(CONTROLLER_NAME), '', LANG_PATH)) { //当前控制器语言包 L($languages); } }