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入门源程序
Oct 09 PHP
PHP 面向对象 final类与final方法
May 05 PHP
php获取数组中重复数据的两种方法
Jun 28 PHP
深入解析php中的foreach问题
Jun 30 PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 PHP
php字符串截取函数用法分析
Nov 25 PHP
php中smarty模板条件判断用法实例
Jun 11 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
Feb 16 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 PHP
一个实用的php验证码类
Jul 06 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
May 14 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php计算程序运行时间的简单例子分享
2014/05/10 PHP
php实现在线通讯录功能(附源码)
2016/05/13 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
微信小程序实现分享到朋友圈功能
2018/07/19 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
审核会计岗位职责
2013/11/08 职场文书
自我评价格式
2014/01/06 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
单位刻章介绍信范文
2014/01/11 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
政协委员个人总结
2015/03/03 职场文书
党员证明信
2015/06/19 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
MySQL sql_mode的使用详解
2021/05/08 MySQL
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
Mysql忘记密码解决方法
2022/02/12 MySQL