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 相关文章推荐
如何使用脚本模仿登陆过程
Nov 22 PHP
FCKeditor的安装(PHP)
Jan 13 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
php动态生成函数示例
Mar 21 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
Aug 28 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
mac os快速切换多个PHP版本的方法
Mar 07 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 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程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
php-fpm配置详解
2014/02/12 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
python 显示数组全部元素的方法
2018/04/19 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
python图像处理入门(一)
2019/04/04 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
Python调用C/C++的方法解析
2020/08/05 Python
英国独特的时尚和生活方式品牌:JOY
2018/03/17 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
SmartBuyGlasses德国:购买太阳镜和眼镜
2019/08/20 全球购物
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
建筑工程管理专业自荐信范文
2013/12/28 职场文书
2014学校庆三八妇女节活动总结
2014/03/01 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
鸦片战争观后感
2015/06/09 职场文书
简爱电影观后感
2015/06/10 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
MATLAB 全景图切割及盒图显示的实现步骤
2021/05/14 Python
python之基数排序的实现
2021/07/26 Python
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技