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 相关文章推荐
相对路径转化成绝对路径
Apr 10 PHP
ThinkPHP php 框架学习笔记
Oct 30 PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 PHP
简单的php写入数据库类代码分享
Jul 26 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
Mar 18 PHP
php实现生成验证码实例分享
Apr 10 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
thinkphp5.1 框架导入/导出excel文件操作示例
May 25 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
推荐文章系统(一)
2006/10/09 PHP
php cookis创建实现代码
2009/03/16 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
php创建类并调用的实例方法
2019/09/25 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
深入学习js瀑布流布局
2016/10/14 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
详解ES6中的代理模式——Proxy
2018/01/08 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
原生js实现3D轮播图
2020/03/21 Javascript
Python Web服务器Tornado使用小结
2014/05/06 Python
python Django模板的使用方法
2016/01/14 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
python使用opencv实现马赛克效果示例
2019/09/28 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
自行车租赁公司创业计划书
2014/01/28 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
离职感谢信
2015/01/21 职场文书
2015年教师自我评价范文
2015/03/04 职场文书
钱学森观后感
2015/06/04 职场文书
2016年寒假见闻
2015/10/10 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
python实现简单的名片管理系统
2021/04/26 Python