Zend Framework教程之Bootstrap类用法概述

前端之家收集整理的这篇文章主要介绍了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选项传递值

    1. 也可用于两个额外的,特殊的选项。
    2. pluginPaths用于指定资源<a href="/tag/chajian/" target="_blank" class="keywords">插件</a>路径前缀,它应该是一个前缀为<a href="/tag/wenjian/" target="_blank" class="keywords">文件</a>系统路径的类的关联数组。
    3. resources用于指定资源<a href="/tag/chajian/" target="_blank" class="keywords">插件</a>,并应<a href="/tag/baokuo/" target="_blank" class="keywords">包括</a><a href="/tag/chajian/" target="_blank" class="keywords">插件</a>资源实例的配置选项。
    4. </p>
    5. </td&gt;
    6. </tr&gt;
    7. <tr valign="middle"&gt;
    8. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getOptions()</td&gt;
    9. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Array</td&gt;
    10. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    11. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    12. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    13. </td&gt;
    14. </tr&gt;
    15. <tr valign="middle"&gt;
    16. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;hasOption($key)</td&gt;
    17. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Boolean</td&gt;
    18. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    19. <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"&gt;
    20. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    21. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$key</var>:<em>必填</em>. .</p>
    22. </li>
    23. </ul>
    24. </td&gt;
    25. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    26. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    27. </td&gt;
    28. </tr&gt;
    29. <tr valign="middle"&gt;
    30. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getOption($key)</td&gt;
    31. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Mixed</td&gt;
    32. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    33. <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"&gt;
    34. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    35. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$key</var>:<em>必填</em>.</p>
    36. </li>
    37. </ul>
    38. </td&gt;
    39. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    40. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;不存在返回<h3><tt><font face="NSimsun"&gt;NULL</tt></h3></p>
    41. </td&gt;
    42. </tr&gt;
    43. <tr valign="middle"&gt;
    44. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;setApplication(Zend_Application | Zend_Application_Bootstrap_Bootstrapper $application)</td&gt;
    45. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="classname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;Zend_Application_Bootstrap_BootstrapAbstract</td&gt;
    46. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    47. <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"&gt;
    48. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    49. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$application</var>:<em>必填</em>.</p>
    50. </li>
    51. </ul>
    52. </td&gt;
    53. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    54. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    55. </td&gt;
    56. </tr&gt;
    57. <tr valign="middle"&gt;
    58. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;Zend_Application_Bootstrap_Bootstrapper</td&gt;
    59. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    60. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    61. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    62. </td&gt;
    63. </tr&gt;
    64. <tr valign="middle"&gt;
    65. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getEnvironment()</td&gt;
    66. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;String</td&gt;
    67. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    68. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    69. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    70. </td&gt;
    71. </tr&gt;
    72. <tr valign="middle"&gt;
    73. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getClassResources()</td&gt;
    74. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Array</td&gt;
    75. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    76. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    77. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    78. </td&gt;
    79. </tr&gt;
    80. <tr valign="middle"&gt;
    81. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getContainer()</td&gt;
    82. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Object</td&gt;
    83. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    84. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    85. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<a href="/tag/huoqu/" target="_blank" class="keywords">获取</a>存储资源的容器。如果没有容器,可以通过Zend_Registry<a href="/tag/zhuce/" target="_blank" class="keywords">注册</a>,然后返回一个Zend_Registry实例。</p>
    86. </td&gt;
    87. </tr&gt;
    88. <tr valign="middle"&gt;
    89. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;setContainer($container)</td&gt;
    90. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="classname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$container</var>,<em>必填</em>. 存放资源对象的容器对象</p>
    91. </li>
    92. </ul>
    93. </td&gt;
    94. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    95. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    96. </p>
    97. </td&gt;
    98. </tr&gt;
    99. <tr valign="middle"&gt;
    100. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;hasResource($name)</td&gt;
    101. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Boolean</td&gt;
    102. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    103. <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"&gt;
    104. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    105. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$name</var>,<em>必填</em>. 资源<a href="/tag/mingcheng/" target="_blank" class="keywords">名称</a></p>
    106. </li>
    107. </ul>
    108. </td&gt;
    109. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    110. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;</p>
    111. </td&gt;
    112. </tr&gt;
    113. <tr valign="middle"&gt;
    114. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;getResource($name)</td&gt;
    115. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Mixed</td&gt;
    116. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    117. <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"&gt;
    118. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    119. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,只<a href="/tag/zhuce/" target="_blank" class="keywords">注册</a>指定的资源.
    120. </p>
    121. </td&gt;
    122. </tr&gt;
    123. <tr valign="middle"&gt;
    124. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;run()</td&gt;
    125. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Void</td&gt;
    126. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;N/A</td&gt;
    127. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    128. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    129. </p>
    130. </td&gt;
    131. </tr&gt;
    132. <tr valign="middle"&gt;
    133. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="methodname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;__call($method,$args)</td&gt;
    134. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;<span class="type"&gt;Mixed</td&gt;
    135. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    136. <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"&gt;
    137. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    138. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$method</var>:<em>必填</em>. <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>名.</p>
    139. </li>
    140. <li class="listitem" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;
    141. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;<var class="varname" style="font-style: normal; font-family: consolas,0); font-weight: bold"&gt;$args</var>:<em>必填</em>. <a href="/tag/fangfa/" target="_blank" class="keywords">方法</a>参数数组.</p>
    142. </li>
    143. </ul>
    144. </td&gt;
    145. <td align="left" style="text-align: left; padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; vertical-align: top; padding-top: 0px"&gt;
    146. <p class="para" style="padding-bottom: 0px; margin: 0px 0px 1em; padding-left: 0px; padding-right: 0px; padding-top: 0px"&gt;为了方便可以用'bootstrap<ResourceName>()'代替 bootstrap() 引导<a href="/tag/zhuce/" target="_blank" class="keywords">注册</a>资源。
    147. </p>
    148. </td&gt;
    149. </tr&gt;

    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程序设计有所帮助。

    猜你在找的PHP相关文章