前端之家收集整理的这篇文章主要介绍了
Zend Framework教程之Bootstrap类用法概述,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了Zend Framework中Bootstrap类用法。分享给大家供大家参考,具体如下:
Zend_Application_Bootstrap_Bootstrapper
Zend_Application_Bootstrap_Bootstrapper是所有引导类必须实现的基本接口。基本功能是用于配置,注册资源,引导(无论是单个资源或整个应用程序),并运行应用程序。
接口方法:
Zend_Application_Bootstrap_Bootstrapper Interface
|
|
| :必填的。
方法。接受一个参数,参数要求是一个Zend_Application对象,或另一个引导对象。
:必填. 配置选项数组
获取application实例
获取environment
获取可以可用的资源
:可选.
注册所有资源.如果为字符串注册指定的资源;如果是数组,只注册指定的资源.
Zend_Application_Bootstrap_ResourceBootstrapper
Zend_Application_Bootstrap_ResourceBootstrapper是一个接口,用于引导类加载注册外部资源 。 也就是说,一个或多个资源不会直接在类中定义,而是通过插件形式引入。它应该与Zend_Application_Bootstrap_Bootstrapper结合使用; Zend_Application_Bootstrap_BootstrapAbstract实现了这个功能。
接口方法:
Zend_Application_Bootstrap_ResourceBootstrapper Interface
:必填,要求是资源名称。
:可选.数组或Zend_Config对象,传递要注册的资源的实例。
注册资源类,通过可选选项传递资源
:必填的。注销注册资源的名称
删除插件资源
:必填. 资源名称.
:必填. 资源名称
:必填.
Zend_Application_Bootstrap_BootstrapAbstract
Zend_Application_Bootstrap_BootstrapAbstract是一个抽象类,它提供了一个通用的引导基本功能。它实现了Zend_Application_Bootstrap_Bootstrapper和Zend_Application_Bootstrap_ResourceBootstrapper。
Zend_Application_Bootstrap_BootstrapAbstract Methods
:必填.
:必填. 选项数组
方法,可以通过foo选项传递值
也可用于两个额外的,特殊的选项。
pluginPaths用于指定资源<a href="https://www.jb51.cc/tag/chajian/" target="_blank" class="keywords">插件</a>路径前缀,它应该是一个前缀为<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>系统路径的类的关联数组。
resources用于指定资源<a href="https://www.jb51.cc/tag/chajian/" target="_blank" class="keywords">插件</a>,并应<a href="https://www.jb51.cc/tag/baokuo/" target="_blank" class="keywords">包括</a><a href="https://www.jb51.cc/tag/chajian/" target="_blank" class="keywords">插件</a>资源实例的配置选项。
</p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getOptions()</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Array</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">hasOption($key)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Boolean</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$key</var>:<em>必填</em>. .</p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getOption($key)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Mixed</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$key</var>:<em>必填</em>.</p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px">不存在返回<h3><tt><font face="NSimsun">NULL</tt></h3></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="classname" style="font-style: normal; font-family: consolas,0); font-weight: bold">Zend_Application_Bootstrap_BootstrapAbstract</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$application</var>:<em>必填</em>.</p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">Zend_Application_Bootstrap_Bootstrapper</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getEnvironment()</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">String</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getClassResources()</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Array</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getContainer()</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Object</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>存储资源的容器。如果没有容器,可以通过Zend_Registry<a href="https://www.jb51.cc/tag/zhuce/" target="_blank" class="keywords">注册</a>,然后返回一个Zend_Registry实例。</p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">setContainer($container)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="classname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$container</var>,<em>必填</em>. 存放资源对象的容器对象</p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px">
</p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">hasResource($name)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Boolean</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$name</var>,<em>必填</em>. 资源<a href="https://www.jb51.cc/tag/mingcheng/" target="_blank" class="keywords">名称</a></p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"></p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">getResource($name)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Mixed</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,只<a href="https://www.jb51.cc/tag/zhuce/" target="_blank" class="keywords">注册</a>指定的资源.
</p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">run()</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Void</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">N/A</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px">
</p>
</td>
</tr>
<tr valign="middle">
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold">__call($method,$args)</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"><span class="type">Mixed</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<ul class="itemizedlist" style="list-style-position: outside; padding-bottom: 1em; list-style-type: disc; margin: 0px; padding-left: 20px; padding-right: 0px; padding-top: 0px">
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$method</var>:<em>必填</em>. <a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>名.</p>
</li>
<li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"><var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold">$args</var>:<em>必填</em>. <a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>参数数组.</p>
</li>
</ul>
</td>
<td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px">
<p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px">为了方便可以用'bootstrap<ResourceName>()'代替 bootstrap() 引导<a href="https://www.jb51.cc/tag/zhuce/" target="_blank" class="keywords">注册</a>资源。
</p>
</td>
</tr>
Zend_Application_Bootstrap_Bootstrap
Zend_Application_Bootstrap_Bootstrap是Zend_Application_Bootstrap_BootstrapAbstract具体实现。它的主要功能是,注册资源,然后运行 run() 方法。
在大多数情况下,你可以根据自己的引导需求继承这个类或直接使用这个类,并来注册资源插件。
启用 Application 自动加载功能
此外,该引导的实现提供了自动加载指定“命名空间”或指定资源类的前缀的功能
本质上,它实例化一个Zend_Application_Module_Autoloader的对象,参数为命名空间和引导类的目录。可以开启这个功能,通过 “appnamespace”配置选项设置命名空间。
As an INI example:
PHP;">
appnamespace = "Application"
Or in XML:
Application
默认情况下,Zend_Tool提供“Application”命名空间。
或者,可以在bootstrap类中通过$_appNamespace属性指定命名空间。
更多关于zend相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/20242.html