Zend Framework教程之Bootstrap类用法概述


Posted in PHP onMarch 14, 2016

本文实例讲述了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';
}

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

PHP 相关文章推荐
PHP令牌 Token改进版
Jul 18 PHP
PHP对象转换为数组函数(递归方法)
Feb 04 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
Yii结合CKEditor实现图片上传功能
Jun 13 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
PHP序列化/对象注入漏洞分析
Apr 18 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
php实现base64图片上传方式实例代码
Feb 22 PHP
php表单处理操作
Nov 16 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
Mar 14 #PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 #PHP
PHP访问数据库集群的方法小结
Mar 14 #PHP
php 无限级分类 获取顶级分类ID
Mar 13 #PHP
PHP实现文件上传与下载实例与总结
Mar 13 #PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
Mar 11 #PHP
PHP批量去除BOM头内容信息代码
Mar 11 #PHP
You might like
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
php构造函数的继承方法
2015/02/09 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
Jquery.TreeView结合ASP.Net和数据库生成菜单导航条
2010/08/27 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
深入理解React中何时使用箭头函数
2017/08/23 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
js实现移动端tab切换时下划线滑动效果
2019/09/08 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
HTML5中视频音频的使用详解
2017/07/07 HTML / CSS
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
ORACLE十问
2015/04/20 面试题
万户网络JAVA程序员岗位招聘笔试试卷
2013/01/08 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
《一件运动衫》教学反思
2014/02/19 职场文书
表决心的诗句大全
2014/03/11 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
紫日观后感
2015/06/05 职场文书