手机版

Zend的手动音量调节机制使用分析(二)

时间:2021-11-20 来源:互联网 编辑:宝哥软件园 浏览:

接着上面的一篇把代码贴上来复制代码代码如下: $ front=Zend _ Controller _ front : getinstance();Zend _ Layout:startMvc(数组(' layout path '=USVN _ LAYOUTS _ DIR));$ front-setRequest(new Zend _ Controller _ Request _ Http());$ front-throw异常(真);$ front-SetBaseURl($ config-URl-base);$ Router=new Zend _ Controller _ Router _ Rewrite();$ ROUTES _ Config=new USVN _ Config _ Ini(USVN _ ROUTES _ Config _ FILE,USVN _ Config _ SECTION);$ router-addConfig($ routes _ config,' routes ');$前置路由器($ router);$ front-setcontrollerdirtory(USVN _ CONTROLLERS _ DIR);$ front-dispatch();上一篇把前两句getInstance和startMvc两个函数已经读完了,下面是继续分析后面的代码setRequest($request)这里是判断请求是否是继承自Zend _控制器_请求_抽象,如果是的话就把前面的请求(_ r)赋值为它。这里需要了解下什么是Zend _控制器_请求_抽象,它是所有请求抽象出来的抽象类曾德。已经提供了两个实现类,Zend_Controller_Request_Http和Zend _控制器_请求_简单,一般我们搭建服务器都是超文本传送协议(超文本传输协议的缩写)请求,所以你的项目如果需要重新继承的话,一般都直接继承Zend_Controller_Request_Http。Zend_controller_Request_Http中我们经常会使用到的getQuery,getCookie,getRequestUri,getBasePath,getParams,getHeader等这些超文本传送协议(超文本传输协议的缩写)通常的选项都已经有了。继续讲它的基类Zend _控制器_请求_抽象,这个类的方法包含

回到代码$ front-set request(new Zend _ controller _ request _ http());这里调用Zend_Controller_Request_Http的构造函数,第一次调用时构造函数为$ this-setRequestUri();其中,很多setRequestUri直接使用php全局变量$_SERVER中的数据来获取RequestUri。Seturi可以学习如何在不同的服务器中获取requestUri(尤其是在IIS,$SERVER中,不同的变量组合有不同的含义),例如URL http://172 . 23 . 11 . 160/usvn/item/usvn _ test,其requestUri为/usvn/item/usvn _ test $ front-throw exceptions。将internal _throwExceptions标志位设置为真;$front-setbaseUrl('/usvn ')做两件事:第一,它设置front的internal _baseUrl属性;其次,它调用Request的setBaseUrl,还设置了Zend_Controller_Request_Http的internal _baseUrl属性。$ Router=new Zend _ Controller _ Router _ Rewrite();$ ROUTES _ Config=new USVN _ Config _ Ini(USVN _ ROUTES _ Config _ FILE,USVN _ Config _ SECTION);$ router-addConfig($ routes _ config,' routes ');$ front-set router($ router);下面三行直接说,其实Zend的Router模块用的是配置文件,路由器用setRouter放在前面。最后一句$ front-dispatch();这个功能也是核心功能。该函数首先注册一个索引为100的插件Zend _ controller _ plugin _ error handler,并将该插件放在最后。在第二步中,存储了一个索引为-80的助手,Zend _ controller _ action _ helper _ viewerrenderer。请求在下面被实例化,它是一个Zend_Controller_Request_Http类型。并将请求的baseUrl设置为之前设置的_baseUrl,即,'/usvn/item/usvn_test ',然后实例化响应,这是一个Zend _ Controller _ Response _ Http();以下插件用于设置请求和响应。首先,实际调用了Zend_Controller_Plugin_Broker的setrequest函数。该函数循环遍历所有由broker管理的插件,并调用插件的setRequest($request)函数(如果有)。接下来,初始化路由器并设置路由器的参数。之前已经设置过Router,也就是Zend _ Controller _ Router _ Rewrite类型初始化了dispatcher,这是我们第一次看到dispatcher,Zend _ Controller _ dispatcher _ standard类。分销商,我们稍后再谈。以下流程:调用插件的routeStartup处理routequest,调用插件的routeShutdown处理请求,调用插件的dispatchLoopStartup处理请求并进入循环分发过程,调用插件的preDispatch对re。Quest处理调用调度器的调度处理请求和响应,调用插件的postDispatch处理请求,跳出循环并分发进程,调用插件的dispatchLoopShutdown处理请求并发送响应

版权声明:Zend的手动音量调节机制使用分析(二)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。