background image

继续讲它的基类 Zend_Controller_Request_Abstract,这个类的方法包含:

回到代码

$front->setRequest(new Zend_Controller_Request_Http());这里调用了
Zend_Controller_Request_Http 的构造函数,构造函数在第一次调用的时候是$this-
>setRequestUri();其中的 setRequestUri 很多都是直接使用$_SERVER 这个 php 全局变量中的
数据来获取 requestUri 的。
setRequestUri 可以学到的是在不同的服务器中如何获取 requestUri(特别是在 IIS 中的
$SERVER 中不同的变量组合有不同的含义),比如 http://172.23.11.160/usvn/item/usvn_test 
这个 url,它的 requestUri 就是/usvn/item/usvn_test
$front->throwExceptions(true); 将内部的_throwExceptions 标志位设置为 true;
$front->setbaseUrl("/usvn")这个做了两件事情,首先是设置 front 内部的_baseUrl 属性,其
次调用 Request 的 setBaseUrl,也是设置 Zend_Controller_Request_Http 的内部_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->setRouter($router);
下面这三行就直接说,实际上就是使用 Zend 的 Router 模块使用配置文件,router 使用
setRouter 放入 front 里面。

最后一句

$front->dispatch();
这个函数也是最核心的一个函数。