热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ZendFramework教程之Bootstrap类用法概述_PHP

这篇文章主要介绍了ZendFramework教程之Bootstrap类用法,简单分析了Bootstrap的功能,定义,相关参数与使用方法,需要的朋友可以参考下
本文实例讲述了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:

Application

默认情况下,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程序设计有所帮助。

推荐阅读
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Java的集合及其实现类,包括数据结构、抽象类和具体实现类的关系,详细介绍了List接口及其实现类ArrayList的基本操作和特点。文章通过提供相关参考文档和链接,帮助读者更好地理解和使用Java的集合类。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 开发笔记:Docker 上安装启动 MySQL
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker上安装启动MySQL相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
author-avatar
瘦哆哆和胖大雄
这个家伙很懒,什么也没留下!
RankList | 热门文章