zend_application

来源:互联网 发布:淘宝客推广渠道 编辑:程序博客网 时间:2024/06/06 20:08

http://www.cnblogs.com/gbyukg/archive/2011/08/27/2155764.html

Zend_Application

主要提供一些程序的初始化,包括资源的重用,对共通类和基于模块初始化的类的一些检查,同时还会配置php的环境变量以及引进默认的autoloading。
使用zend_application,首先需要创建一个引导(Bootstrap)类,同时创建一个相关的配置文件。
使用 zf.bat create project newproject命令创建的应用程序结构会自动包含一个引导类和一个配置文件,配置文件中的所有设置都是供Zend_Application和引导类来使用的。
可以通过更改configuration文件来追加资源的调用,例:
resources.layout.layout = "layout"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"

在程序初始化的时候追加layout资源
Zend_Application 载入php环境设置,包括include_path以及autoloading,以及实例化被调用的引导类
Zend_Application_Bootstrap:为引导类提供接口
Zend_Application_Bootstrap_Bootstrap:提供大部分引导类所需的共通功能
Zend_Application_Resource:除了几个默认的资源,在需要时通过引导实例载入一个标准的引导资源
程序引导类会继承Zend_Application_Bootstrap_Bootstap或实现Zend_Application_Bootstrap_Bootstrapper功能。程序入口将会读取Zend_Application,实例化它同时传递2个参数。
·环境定义(即application.ini中的配置选项,如:production、staging或testing)
·初始化配置选项
环境定义是一个自定义的字符串
配置选项可以是一个数组、Zend_Config对象或者一个配置文件的路径
Zend_Application另一个重要的作用是实现了Zend_Application_Bootstrap_Bootstrapper程序引导接口
接口如下:

interface Zend_Application_Bootstrap_Bootstrapper{    public function __construct($application);    public function setOptions(array $options);    public function getApplication();    public function getEnvironment();    public function getClassResources();    public function getClassResourceNames();    public function bootstrap($resource = null);    public function run();}

可以通过向这个接口传递application对象访问和配置程序环境,为引导程序提供资源,同时引导并执行程序。
可以通过继承Zend_Application_Bootstrap_BootstrapAbstract抽象类或使用Zend_Application_Bootstrap_Bootstrap类来实现上述功能。

实例化并运行application

/** * 根据application.ini配置文件中的 * bootstrap.path = APPLICATION_PATH "/Bootstrap.php" * bootstrap.class = "Bootstrap" * 自动查找引导类并运行 *///执行引导程序,并运行$application->bootstrap()            ->run();

原创粉丝点击