• zend_application


    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();
  • 相关阅读:
    【转】ANSI与GB2312的编码问题
    asp.net相关文件后缀名都是什么意思?
    【转】HTTP 通信http通信过程简介
    【笔记】【转载】设计模式
    【转载】DataGridView之将数据导出成Excel和Word格式
    新开博客
    ASP.NET 从Excel文件导入数据到数据库
    Asp.net 图片异步上传的简单实现
    【笔记】【转载】JohnConnor设计模式笔记(一) 学习设计模式之前你必须掌握的-看懂UML类图
    boost Smart Pointer
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2155764.html
Copyright © 2020-2023  润新知