PageRenderTime 55ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/php/yaf-router.getcurrentroute.html

https://bitbucket.org/thncr/manuals
HTML | 111 lines | 93 code | 18 blank | 0 comment | 0 complexity | 97912bd1ffebb17ba153383c7bef3536 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>Get the effective route name</title>
  6. </head>
  7. <body><div class="manualnavbar" style="text-align: center;">
  8. <div class="prev" style="text-align: left; float: left;"><a href="yaf-router.construct.html">Yaf_Router::__construct</a></div>
  9. <div class="next" style="text-align: right; float: right;"><a href="yaf-router.getroute.html">Yaf_Router::getRoute</a></div>
  10. <div class="up"><a href="class.yaf-router.html">Yaf_Router</a></div>
  11. <div class="home"><a href="index.html">PHP Manual</a></div>
  12. </div><hr /><div id="yaf-router.getcurrentroute" class="refentry">
  13. <div class="refnamediv">
  14. <h1 class="refname">Yaf_Router::getCurrentRoute</h1>
  15. <p class="verinfo">(Yaf &gt;=1.0.0)</p><p class="refpurpose"><span class="refname">Yaf_Router::getCurrentRoute</span> &mdash; <span class="dc-title">Get the effective route name</span></p>
  16. </div>
  17. <div class="refsect1 description" id="refsect1-yaf-router.getcurrentroute-description">
  18. <h3 class="title">说明</h3>
  19. <div class="methodsynopsis dc-description">
  20. <span class="modifier">public</span> <span class="type">string</span> <span class="methodname"><strong>Yaf_Router::getCurrentRoute</strong></span>
  21. ( <span class="methodparam">void</span>
  22. )</div>
  23. <p class="para rdfs-comment">
  24. Get the name of the route which is effective in the route process.
  25. <blockquote class="note"><p><strong class="note">Note</strong>:
  26. <p class="para">
  27. You should call this method after the route process finished, since
  28. before that, this method will always return <strong><code>NULL</code></strong>.
  29. </p>
  30. </p></blockquote>
  31. </p>
  32. </div>
  33. <div class="refsect1 parameters" id="refsect1-yaf-router.getcurrentroute-parameters">
  34. <h3 class="title">参数</h3>
  35. <p class="para">此函数没有参数</p>
  36. </div>
  37. <div class="refsect1 returnvalues" id="refsect1-yaf-router.getcurrentroute-returnvalues">
  38. <h3 class="title">返回值</h3>
  39. <p class="para">
  40. String, the name of the effective route.
  41. </p>
  42. </div>
  43. <div class="refsect1 examples" id="refsect1-yaf-router.getcurrentroute-examples">
  44. <h3 class="title">范例</h3>
  45. <div class="example" id="example-3965">
  46. <p><strong>Example #1 Register some routes in Bootstrap</strong></p>
  47. <div class="example-contents">
  48. <div class="phpcode"><code><span style="color: #000000">
  49. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">Bootstrap&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">Yaf_Bootstrap_Abstract</span><span style="color: #007700">{<br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">_initConfig</span><span style="color: #007700">()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$config&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">Yaf_Application</span><span style="color: #007700">::</span><span style="color: #0000BB">app</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getConfig</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">Yaf_Registry</span><span style="color: #007700">::</span><span style="color: #0000BB">set</span><span style="color: #007700">(</span><span style="color: #DD0000">"config"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$config</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">_initRoute</span><span style="color: #007700">(</span><span style="color: #0000BB">Yaf_Dispatcher&nbsp;$dispatcher</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$router&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$dispatcher</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getRouter</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$rewrite_route&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Yaf_Route_Rewrite</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"/product/list/:page"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"controller"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"product"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"action"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"list"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$regex_route&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Yaf_Route_Rewrite</span><span style="color: #007700">(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"#^/product/info/(\d+)"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"controller"&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"product"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">"action"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">"info"</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$router</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addRoute</span><span style="color: #007700">(</span><span style="color: #DD0000">'rewrite'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$rewrite_route</span><span style="color: #007700">)-&gt;</span><span style="color: #0000BB">addRoute</span><span style="color: #007700">(</span><span style="color: #DD0000">'regex'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$regex_route</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">/**<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;register&nbsp;plugin&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">public&nbsp;function&nbsp;</span><span style="color: #0000BB">__initPlugins</span><span style="color: #007700">(</span><span style="color: #0000BB">Yaf_Dispatcher&nbsp;$dispatcher</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$dispatcher</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">registerPlugin</span><span style="color: #007700">(new&nbsp;</span><span style="color: #0000BB">DummyPlugin</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;</span>
  50. </span>
  51. </code></div>
  52. </div>
  53. </div>
  54. <div class="example" id="example-3966">
  55. <p><strong>Example #2 plugin Dummy.php (under <a href="yaf.appconfig.html#configuration.yaf.directory" class="link">application.directory</a>/plugins)</strong></p>
  56. <div class="example-contents">
  57. <div class="phpcode"><code><span style="color: #000000">
  58. <span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">class&nbsp;</span><span style="color: #0000BB">DummyPlugin&nbsp;</span><span style="color: #007700">extends&nbsp;</span><span style="color: #0000BB">Yaf_Plugin_Abstract&nbsp;</span><span style="color: #007700">{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;</span><span style="color: #0000BB">routerShutdown</span><span style="color: #007700">(</span><span style="color: #0000BB">Yaf_Request_Abstract&nbsp;$request</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">Yaf_Response_Abstract&nbsp;$response</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">Yaf_Dispatcher</span><span style="color: #007700">::</span><span style="color: #0000BB">getInstance</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getRouter</span><span style="color: #007700">()-&gt;</span><span style="color: #0000BB">getCurrentRoute</span><span style="color: #007700">());<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #0000BB">?&gt;<br /></span>?&gt;</span>
  59. </code></div>
  60. </div>
  61. <div class="example-contents"><p>以上例程的输出类似于</p></div>
  62. <div class="example-contents screen">
  63. <div class="cdata"><pre>
  64. /* for http://yourdomain.com/product/list/1
  65. * DummyPlugin will output:
  66. */
  67. string(7) &quot;rewrite&quot;
  68. /* for http://yourdomain.com/product/info/34
  69. * DummyPlugin will output:
  70. */
  71. string(5) &quot;regex&quot;
  72. /* for other request URI
  73. * DummyPlugin will output:
  74. */
  75. string(8) &quot;_default&quot;
  76. </pre></div>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="refsect1 seealso" id="refsect1-yaf-router.getcurrentroute-seealso">
  81. <h3 class="title">参见</h3>
  82. <ul class="simplelist">
  83. <li class="member"><a href="class.yaf-bootstrap-abstract.html" class="classname">Yaf_Bootstrap_Abstract</a></li>
  84. <li class="member"><a href="class.yaf-plugin-abstract.html" class="classname">Yaf_Plugin_Abstract</a></li>
  85. <li class="member"> <span class="methodname"><a href="yaf-router.addroute.html" class="methodname" rel="rdfs-seeAlso">Yaf_Router::addRoute()</a> - Add new Route into Router</span></li>
  86. </ul>
  87. </div>
  88. </div><hr /><div class="manualnavbar" style="text-align: center;">
  89. <div class="prev" style="text-align: left; float: left;"><a href="yaf-router.construct.html">Yaf_Router::__construct</a></div>
  90. <div class="next" style="text-align: right; float: right;"><a href="yaf-router.getroute.html">Yaf_Router::getRoute</a></div>
  91. <div class="up"><a href="class.yaf-router.html">Yaf_Router</a></div>
  92. <div class="home"><a href="index.html">PHP Manual</a></div>
  93. </div></body></html>