欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Zend Framework教程之Bootstrap类用法概述

程序员文章站 2024-04-01 20:40:16
本文实例讲述了zend framework中bootstrap类用法。分享给大家供大家参考,具体如下: zend_application_bootstrap_bootst...

本文实例讲述了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<resourcename>()'代替 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';
}

更多关于zend相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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