<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 閉包支持 [上一頁](# "上一頁")[下一頁](# "下一頁") ### 閉包定義 我們可以使用閉包的方式定義一些特殊需求的路由,而不需要執行控制器的操作方法了,例如: ~~~ 'URL_ROUTE_RULES'=>array( 'test' => function(){ echo 'just test'; }, 'hello/:name' => function($name){ echo 'Hello,'.$name; } ) ~~~ ### 參數傳遞 閉包定義的參數傳遞在規則路由和正則路由的兩種情況下有所區別。 ##### 規則路由 規則路由的參數傳遞比較簡單: ~~~ 'hello/:name' => function($name){ echo 'Hello,'.$name; } ~~~ 規則路由中定義的動態變量的名稱 就是閉包函數中的參數名稱,不分次序。因此,如果我們訪問的URL地址是:`http://serverName/Home/hello/thinkphp` 則瀏覽器輸出的結果是:`Hello,thinkphp` 如果多個參數可以使用: ~~~ 'blog/:year/:month' => function($year,$month){ echo 'year='.$year.'&month='.$month; } ~~~ ##### 正則路由 如果是正則路由的話,閉包函數中的參數就以正則中出現的參數次序來傳遞,例如: ~~~ '/^new\/(\d{4})\/(\d{2})$/' => function($year,$month){ echo 'year='.$year.'&month='.$month; } ~~~ 如果我們訪問:`http://serverName/Home/new/2013/03`瀏覽器輸出結果是:`year=2013&month=03` ### 繼續執行 默認的情況下,使用閉包定義路由的話,一旦匹配到路由規則,執行完閉包方法之后,就會中止后續執行。如果希望閉包函數執行后,后續的程序繼續執行,可以在閉包函數中使用布爾類型的返回值,例如: ~~~ 'hello/:name' => function($name){ echo 'Hello,'.$name.'<br/>'; $_SERVER['PATH_INFO'] = 'blog/read/name/'.$name; return false; } ~~~ 該路由定義中的閉包函數首先執行了一段輸出代碼,然后重新設置了`$_SERVER['PATH_INFO']`變量,交給后續的程序繼續執行,因為返回值是false,所以會繼續執行控制器和操作的檢測,從而會執行Blog控制器的read操作方法。 假設blog控制器中的read操作方法代碼如下: ~~~ public function read($name){ echo 'read,'.$name.'!<br/>'; } ~~~ 如果我們訪問的URL地址是:`http://serverName/Home/hello/thinkphp` 則瀏覽器輸出的結果是: ~~~ Hello,thinkphp read,thinkphp! ~~~ [上一頁](# "上一頁")[下一頁](# "下一頁")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看