background image

这个函数首先注册了一个插件 Zend_Controller_Plugin_ErrorHandler,index 为 100,把插件
的顺序放在最后。
第二步存放了一个 Helper,Zend_Controller_Action_Helper_ViewRenderer,index 为-80
下面实例化了 request,request 是一个 Zend_Controller_Request_Http 类型。并将 request 的
baseUrl 设置为前面设置过的_baseUrl,就是"/usvn/item/usvn_test"
接着实例化了 response,response 是一个 Zend_Controller_Response_Http();
下面使用 plugins 来对 Request 和 Response 进行设置,首先实际调用了
Zend_Controller_Plugin_Broker 的 setRequest 函数,这个函数循环遍历 broker 管理的所有插
件,调用插件的 setRequest($request)函数(如果有的话)。
接下来初始化 router,和设置 router 的参数。router 已经在前面设置过了,就是
Zend_Controller_Router_Rewrite 类型
初始化分发器 dispatcher,分发器我们是第一次看到,Zend_Controller_Dispatcher_Standard
类。分发器以后再说。

下面的流程:
调用插件的 routeStartup 对 request 进行处理
调用 router 的 route 处理 request
调用插件的 routeShutdown 对 request 进行处理
调用插件的 dispatchLoopStartup 对 request 进行处理
进入循环分发过程
调用插件的 preDispatch 对 request 进行处理
调用 dispatcher 的 dispatch 处理 request 和 response
调用插件的 postDispatch 对 request 进行处理
跳出循环分发过程
调用插件的 dispatchLoopShutdown 对 request 进行处理