PageRenderTime 69ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/php/reflectionfunction.construct.html

https://bitbucket.org/thncr/manuals
HTML | 166 lines | 133 code | 33 blank | 0 comment | 0 complexity | 6dd769cc9e453ada7263a1d552a1bfc8 MD5 | raw file
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Constructs a ReflectionFunction object</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="reflectionfunction.export.html">ReflectionFunction::export</a></div>
  10. <div class="up"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="reflectionfunction.construct" class="refentry">
  13. <div class="refnamediv">
  14. <h1 class="refname">ReflectionFunction::__construct</h1>
  15. <p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">ReflectionFunction::__construct</span> &mdash; <span class="dc-title">Constructs a ReflectionFunction object</span></p>
  16. </div>
  17. <div class="refsect1 description" id="refsect1-reflectionfunction.construct-description">
  18. <h3 class="title">说明</h3>
  19. <div class="methodsynopsis dc-description">
  20. <span class="modifier">public</span> <span class="methodname"><strong>ReflectionFunction::__construct</strong></span>
  21. ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$name</code></span>
  22. )</div>
  23. <p class="para rdfs-comment">
  24. Constructs a <a href="class.reflectionfunction.html" class="classname">ReflectionFunction</a> object.
  25. </p>
  26. </div>
  27. <div class="refsect1 parameters" id="refsect1-reflectionfunction.construct-parameters">
  28. <h3 class="title">参数</h3>
  29. <p class="para">
  30. <dl>
  31. <dt>
  32. <span class="term"><em><code class="parameter">name</code></em></span>
  33. <dd>
  34. <p class="para">
  35. The name of the function to reflect or a <a href="functions.anonymous.html" class="link">closure</a>.
  36. </p>
  37. </dd>
  38. </dt>
  39. </dl>
  40. </p>
  41. </div>
  42. <div class="refsect1 returnvalues" id="refsect1-reflectionfunction.construct-returnvalues">
  43. <h3 class="title">返回值</h3>
  44. <p class="para">
  45. 没有返回值
  46. </p>
  47. </div>
  48. <div class="refsect1 errors" id="refsect1-reflectionfunction.construct-errors">
  49. <h3 class="title">错误异常</h3>
  50. <p class="para">
  51. A <a href="class.reflectionexception.html" class="classname">ReflectionException</a> if the <em><code class="parameter">name</code></em>
  52. parameter does not contain a valid function.
  53. </p>
  54. </div>
  55. <div class="refsect1 changelog" id="refsect1-reflectionfunction.construct-changelog">
  56. <h3 class="title">更新日志</h3>
  57. <p class="para">
  58. <table class="doctable informaltable">
  59. <thead>
  60. <tr>
  61. <th>版本</th>
  62. <th>说明</th>
  63. </tr>
  64. </thead>
  65. <tbody class="tbody">
  66. <tr>
  67. <td>5.3.0</td>
  68. <td>
  69. <em><code class="parameter">name</code></em> can now be a <a href="functions.anonymous.html" class="link">closure</a>.
  70. </td>
  71. </tr>
  72. </tbody>
  73. </table>
  74. </p>
  75. </div>
  76. <div class="refsect1 examples" id="refsect1-reflectionfunction.construct-examples">
  77. <h3 class="title">范例</h3>
  78. <p class="para">
  79. <div class="example" id="example-4981">
  80. <p><strong>Example #1 <span class="methodname"><strong>ReflectionFunction::__construct()</strong></span> example</strong></p>
  81. <div class="example-contents">
  82. <div class="phpcode"><code><span style="color: #000000">
  83. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;A&nbsp;simple&nbsp;counter<br />&nbsp;*<br />&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;int<br />&nbsp;*/<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">counter1</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;</span><span style="color: #0000BB">$c&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;++</span><span style="color: #0000BB">$c</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">/**<br />&nbsp;*&nbsp;Another&nbsp;simple&nbsp;counter<br />&nbsp;*<br />&nbsp;*&nbsp;@return&nbsp;&nbsp;&nbsp;&nbsp;int<br />&nbsp;*/<br /></span><span style="color: #0000BB">$counter2&nbsp;</span><span style="color: #007700">=&nbsp;function()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;</span><span style="color: #0000BB">$d&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;++</span><span style="color: #0000BB">$d</span><span style="color: #007700">;<br /><br />};<br /><br />function&nbsp;</span><span style="color: #0000BB">dumpReflectionFunction</span><span style="color: #007700">(</span><span style="color: #0000BB">$func</span><span style="color: #007700">)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Print&nbsp;out&nbsp;basic&nbsp;information<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"\n\n===&gt;&nbsp;The&nbsp;%s&nbsp;function&nbsp;'%s'\n"</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;declared&nbsp;in&nbsp;%s\n"</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines&nbsp;%d&nbsp;to&nbsp;%d\n"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">isInternal</span><span style="color: #007700">()&nbsp;?&nbsp;</span><span style="color: #DD0000">'internal'&nbsp;</span><span style="color: #007700">:&nbsp;</span><span style="color: #DD0000">'user-defined'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getName</span><span style="color: #007700">(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getFileName</span><span style="color: #007700">(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getStartLine</span><span style="color: #007700">(),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getEndline</span><span style="color: #007700">()<br />&nbsp;&nbsp;&nbsp;&nbsp;);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Print&nbsp;documentation&nbsp;comment<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"---&gt;&nbsp;Documentation:\n&nbsp;%s\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getDocComment</span><span style="color: #007700">(),&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Print&nbsp;static&nbsp;variables&nbsp;if&nbsp;existant<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$statics&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$func</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getStaticVariables</span><span style="color: #007700">())<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"---&gt;&nbsp;Static&nbsp;variables:&nbsp;%s\n"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">var_export</span><span style="color: #007700">(</span><span style="color: #0000BB">$statics</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">));<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #FF8000">//&nbsp;Create&nbsp;an&nbsp;instance&nbsp;of&nbsp;the&nbsp;ReflectionFunction&nbsp;class<br /></span><span style="color: #0000BB">dumpReflectionFunction</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">ReflectionFunction</span><span style="color: #007700">(</span><span style="color: #DD0000">'counter1'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">dumpReflectionFunction</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">ReflectionFunction</span><span style="color: #007700">(</span><span style="color: #0000BB">$counter2</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">?&gt;</span>
  84. </span>
  85. </code></div>
  86. </div>
  87. <div class="example-contents"><p>以上例程的输出类似于</p></div>
  88. <div class="example-contents screen">
  89. <div class="cdata"><pre>
  90. ===&gt; The user-defined function &#039;counter1&#039;
  91. declared in Z:\reflectcounter.php
  92. lines 7 to 11
  93. ---&gt; Documentation:
  94. &#039;/**
  95. * A simple counter
  96. *
  97. * @return int
  98. */&#039;
  99. ---&gt; Static variables: array (
  100. &#039;c&#039; =&gt; 0,
  101. )
  102. ===&gt; The user-defined function &#039;{closure}&#039;
  103. declared in Z:\reflectcounter.php
  104. lines 18 to 23
  105. ---&gt; Documentation:
  106. &#039;/**
  107. * Another simple counter
  108. *
  109. * @return int
  110. */&#039;
  111. ---&gt; Static variables: array (
  112. &#039;d&#039; =&gt; 0,
  113. )
  114. </pre></div>
  115. </div>
  116. </div>
  117. </p>
  118. </div>
  119. <div class="refsect1 seealso" id="refsect1-reflectionfunction.construct-seealso">
  120. <h3 class="title">参见</h3>
  121. <p class="para">
  122. <ul class="simplelist">
  123. <li class="member"> <span class="methodname"><a href="reflectionmethod.construct.html" class="methodname" rel="rdfs-seeAlso">ReflectionMethod::__construct()</a> - Constructs a ReflectionMethod</span></li>
  124. <li class="member"><a href="language.oop5.decon.html#language.oop5.decon.constructor" class="link">Constructors</a></li>
  125. </ul>
  126. </p>
  127. </div>
  128. </div><hr /><div class="manualnavbar" style="text-align: center;">
  129. <div class="prev" style="text-align: left; float: left;"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  130. <div class="next" style="text-align: right; float: right;"><a href="reflectionfunction.export.html">ReflectionFunction::export</a></div>
  131. <div class="up"><a href="class.reflectionfunction.html">ReflectionFunction</a></div>
  132. <div class="home"><a href="index.html">PHP Manual</a></div>
  133. </div></body></html>