Zend Framework教程之Bootstrap类用法概述

5年以前  |  阅读数:867 次  |  编程语言:PHP 

本文实例讲述了Zend Framework中Bootstrap类用法。分享给大家供大家参考,具体如下:

Zend_Application_Bootstrap_Bootstrapper

Zend_Application_Bootstrap_Bootstrapper是所有引导类必须实现的基本接口。基本功能是用于配置,注册资源,引导(无论是单个资源或整个应用程序),并运行应用程序。

接口方法:

Zend_Application_Bootstrap_Bootstrapper Interface

Method Return Value Parameters Description

__construct(
$application
) Void

  • $application: 必填的。

接受一个Zend_Application

或一个Zend_Application_Bootstrap_Bootstrapper对象作为唯一的参数。

构造方法。接受一个参数,参数要求是一个Zend_Application对象,或另一个引导对象。

setOptions(
array $options) Zend_Application_Bootstrap_Bootstrapper

  • $options: 必填. 配置选项数组

通常情况下, 选项都可以匹配映射到对应的setter;否则,选项仅仅会被存储,便于以后查找

getApplication() Zend_Application |Zend_Application_Bootstrap_Bootstrapper N/A

获取application实例

getEnvironment() String N/A

获取environment

getClassResources() Array N/A

获取可以可用的资源

bootstrap($resource = null) Mixed

  • $resource: 可选.

如果 $resource为空,注册所有资源.如果为字符串注册指定的资源;如果是数组, 只注册指定的资源.

run() Void N/A

执行引导.

Zend_Application_Bootstrap_ResourceBootstrapper

Zend_Application_Bootstrap_ResourceBootstrapper是一个接口,用于引导类加载注册外部资源 。 也就是说,一个或多个资源不会直接在类中定义,而是通过插件形式引入。它应该与Zend_Application_Bootstrap_Bootstrapper结合使用; Zend_Application_Bootstrap_BootstrapAbstract实现了这个功能。

接口方法:

Zend_Application_Bootstrap_ResourceBootstrapper Interface

Method Return Value Parameters Description

registerPluginResource($resource, $options = null) Zend_Application_Bootstrap_ResourceBootstrapper

  • $resource: 必填,要求是资源名称。

或者Zend_Application_Resource_Resource对象

  • $options: 可选. 数组或Zend_Config对象,传递要注册的资源的实例。

用于注册资源类,通过可选选项传递资源

unregisterPluginResource($resource) Zend_Application_Bootstrap_ResourceBootstrapper

  • $resource: 必填的。注销注册资源的名称

删除插件资源

hasPluginResource($resource) Boolean

  • $resource: 必填. 资源名称.

getPluginResource($resource) Zend_Application_Resource_Resource

  • $resource: 必填. 资源名称

getPluginResourceNames() Array N/A

setPluginLoader(Zend_Loader_PluginLoader_Interface $loader) Zend_Application_Bootstrap_ResourceBootstrapper

  • $loader: 必填.

getPluginLoader() Zend_Loader_PluginLoader_Interface N/A

Zend_Application_Bootstrap_BootstrapAbstract

Zend_Application_Bootstrap_BootstrapAbstract是一个抽象类,它提供了一个通用的引导基本功能。它实现了Zend_Application_Bootstrap_Bootstrapper和Zend_Application_Bootstrap_ResourceBootstrapper。

Zend_Application_Bootstrap_BootstrapAbstract Methods

Method Return Value Parameters Description

__construct($application) Void

  • $application: 必填.

Accepts either a Zend_Application or a Zend_Application_Bootstrap_Bootstrapper object as the sole argument.

setOptions(array $options) Zend_Application_Bootstrap_Bootstrapper

  • $options: 必填. 选项数组

所有选项都可以映射到选项指定的setter​​,

否则,该选项将只是被存储供以后查找

例如,如果在扩展类中定义一个setFoo() 方法,可以通过foo选项传递值

也可用于两个额外的,特殊的选项。
pluginPaths用于指定资源插件路径前缀,它应该是一个前缀为文件系统路径的类的关联数组。
resources用于指定资源插件,并应包括插件资源实例的配置选项。

getOptions() Array N/A

hasOption($key) Boolean

  • $key: 必填. .

getOption($key) Mixed

  • $key: 必填.

不存在返回 NULL

setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application) Zend_Application_Bootstrap_BootstrapAbstract

  • $application: 必填.

getApplication() Zend_Application |Zend_Application_Bootstrap_Bootstrapper N/A

getEnvironment() String N/A

getClassResources() Array N/A

getContainer() Object N/A

获取存储资源的容器。如果没有容器,可以通过Zend_Registry注册,然后返回一个Zend_Registry实例。

setContainer($container) Zend_Application_Bootstrap_BootstrapAbstract

  • $container,必填. 存放资源对象的容器对象

hasResource($name) Boolean

  • $name, 必填. 资源名称

getResource($name) Mixed

  • $name, 必填. 资源名称

bootstrap($resource = null) Mixed

  • $resource: 可选.

如果 $resource为空,注册所有资源.如果为字符串注册指定的资源;如果是数组, 只注册指定的资源.

run() Void N/A

__call($method, $args) Mixed

  • $method: 必填. 方法名.

  • $args: 必填. 方法参数数组.

为了方便可以用'bootstrap()'代替 bootstrap() 引导注册资源。

Zend_Application_Bootstrap_Bootstrap

Zend_Application_Bootstrap_Bootstrap是Zend_Application_Bootstrap_BootstrapAbstract具体实现。它的主要功能是,注册资源,然后运行 run() 方法。

在大多数情况下,你可以根据自己的引导需求继承这个类或直接使用这个类,并来注册资源插件。

启用 Application 自动加载功能

此外,该引导的实现提供了自动加载指定"命名空间"或指定资源类的前缀的功能

本质上,它实例化一个Zend_Application_Module_Autoloader的对象,参数为命名空间和引导类的目录。可以开启这个功能,通过 "appnamespace"配置选项设置命名空间。

As an INI example:


    appnamespace = "Application"

Or in XML:


    <appnamespace>Application</appnamespace>

默认情况下,Zend_Tool提供"Application"命名空间。

或者,可以在bootstrap类中通过$_appNamespace属性指定命名空间。


    class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
    {
       protected $_appNamespace = 'Application';
    }

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例