打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Zend Framework MVC 核心之 Zend
Zend Framework MVC 核心之 Zend_Controller_Front
Zend/Controller包是Zend Framework MVC 的核心部分。也可以说是 Zend Framework 中最复杂的部分了。可以说搞清楚了Zend/Controller的复杂流程,就明白了半个Zend Framework。
Zend_Controller_Front
Zend_Controller_Front类实现了单件模式。在应用的任何地方,通过:
$front = Zend_Controller_Front::getInstance();
便可获得Zend_Controller_Front类的唯一实例。
Zend_Controller_Front 配置
在Zend Framework 1.8(大概是)之前的版本我们需要通过一系列的set方法和add方法来对Zend_Controller_Front进行配置,如setControllerDirectory()等,上一随笔讲过可以通过配置文件来对应用进行配置。同样可以通过配置文件来配置 Zend_Controller_Front。
对 Zend_Controller_Front 进行配置的引导资源类是 Zend_Application_Resource_Frontcontroller 类
Zend_Application_Resource_Frontcontroller 类的init()方法,根据配置文件对Zend_Controller_Front类进行了配置。
以下是一个样例Ini配置文件,显示了如何配置模块目录
[yourenvironment]
resources.frontController.controllerDirectory.default = APPLICATION_PATH "/default/controllers"
resources.frontController.controllerDirectory.blog = APPLICATION_PATH "/blog/controllers"
resources.frontController.params.displayExceptions = 0
这段配置跟以下代码的作用是相同的:
$front = Zend_Controller_Front::getInstance();
$front->setControllerDirectory(array( "default" => APPLICATION_PATH . "/default/controllers" ,
"blog" => APPLICATION_PATH . "/blog/controllers" ));
$front->setParam( "displayExceptions" , 0 );
Zend_Controller_Front主要方法:
dispatch()方法,是Zend_Controller_Front类的最主要的方法。
在Zend Framework 1.10 ,你在大多数时候都不需要直接调用dispatch()方法。当你调用Zend_Application的run()方法的时候,Zend_Application把你的请求委托给Zend_Application_Bootstrap_Bootstrap的run()方法,而Zend_Application_Bootstrap_Bootstrap的run()方法又把你的请求委托给Zend_Controller_Front的dispatch()方法。因此,你调用 Zend_Application的run()方法的时候 ,实际上最后是调用 Zend_Controller_Front的dispatch()方法。
dispatch()方法做的事情有:
初始化默认的插件(Zend_Controller_Plugin_ErrorHandler错误处理插件)和控制器助手(Zend_Controller_Action_Helper_ViewRenderer视图渲染助手),初始化请求类(Zend_Controller_Request_Http),响应类(Zend_Controller_Response_Http),路由类(Zend_Controller_Router_Rewrite)和分发类(Zend_Controller_Dispatcher_Standard),并开始路由分发(把分发工作委托给分发类),最后,由响应类输出处理(或返回)。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP沉思录之四:Zend Framework
Zend Framework 2.0的Mvc结构及启动流程分析
Zend Framework 入门
J2EE设计模式浅谈(1)
Core J2EE Patterns - Front Controller
Zend_Amf + flex 数据库连接教程
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服