<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 雜項 [TOC] ### 設置匹配模式 在通過調用方法的方式注冊路由后,方法的返回值是當前對象。所以,這樣可以進行鏈式操作。 有一個方法where();用來設置單獨設置匹配模式,不過由于在注冊是可以直接設置所以沒什么大用 示例: `Route::any('/a-{aid}','index/index/index')->where(['id'=>'(\d+)']);` ### 可選參數 在寫路由匹配模式是通過{params}來確定一個參數,也可以通過`{params?}`表示這是一個可選參數 例如: `Route::any('/a-{aid}-{aid?}','index/index/index')->where(['id'=>'(\d+)']);` 后面的那一個參數有沒有都可以。 ### 路由命名 可以對當前路由進行命名,不過僅僅當次請求有效,不推薦使用 `Route::any('/a-{aid}','index/index/index')->name('read_article');` ### 隱式傳參數 如果當前路由匹配成功后不在繼續匹配那么可以使用隱私傳參 `Route::any('/a-{aid}','index/index/index?rel=baidu.com&time=32322323');` ### 獲取動態參數 `Route::any('/a-{aid}','index/index/index?rel=baidu.com&aid={:1}');` 通過`{:i}`的方式來獲取動態參數如果不存在默認為空,順序從1開始 ### 改變pathinfo 有時候我們想要修改pathinfo,在后面追加一些東西 可以使用`{$ext}`的方式來獲取一些server的東西 `Route::any('/a-{aid}','index/index/index.{$ext});` 在規則匹配后會自動替換 #### 可選變量列表 ~~~ $v['{$pathinfo}'] = $this->option['pathinfo']; $v['{$http_host}'] = $this->option['http_host']; $v['{$request_scheme}'] = $this->option['request_scheme']; $v['{$script_name}'] = $this->option['script_name']; $v['{$request_uri}'] = $this->option['request_uri']; $v['{$path_info}'] = $this->option['path_info']; $v['{$request_method}'] = $this->option['request_method']; $v['{$query_string}'] = $this->option['query_string']; $v['{$http_referer}'] = $this->option['http_referer']; $v['{$ext}'] = $this->option['ext']; $v['{$server_name}'] = $this->option['server_name']; $v['{$request_time}'] = $this->option['request_time']; ~~~ ## 保存規則 在正常情況下路由的規則全部是緩存起來的,那么我們要更改一個規則就非常麻煩。 所以,路由組件提供了響應的方法來進行規則的增加刪除和修改。 ### 刪除規則 ~~~ /** * 刪除一條正則規則 * @param [type] $key [規則名稱] * @param string $method [請求方法] * @return [type] [description] */ public function deleteRule($key, $method = 'get') ~~~ ### 刪除一個靜態路由 ~~~ /** * 刪除一個靜態路由 * @param [type] $key [匹配地址] * @return [type] [description] */ public function deleteMap($key) ~~~ ### 刪除一個域名路由 ~~~ /** * 刪除一個域名路由 * @param [type] $key [域名] * @return [type] [description] */ public function deleteDomain($key) ~~~ ### 添加一個不需要解析的正則路由 該方法沒有解析地址而是直接通過合并的方式添加到路由規則里 ~~~ /** * 添加解析好的正則規則 * @param array $rules [規則] * @param string $method [請求方法] */ public function addRules(array $rules, $method = 'any') ~~~ ### 保存 在一系列的操作之后并沒有保存到文件,需要調用保存方法 ~~~ /** * 保存當前規則到緩存 * @return [type] [description] */ public function save() ~~~ ### 獲取正則路由規則的引用 ~~~ /** * 返回規則引用 * @return [type] [description] */ public function &getRulesQuote() ~~~ ### 路由選項可以參數列表 #### 后綴檢查 ~~~ /** * 后綴檢查 可以多個后綴用|隔開 * @param [type] $op [description] * @return [type] [description] */ private function ext($op) ~~~ #### 禁止后綴 ~~~ /** * [deny_ext 禁止后綴 檢查 多個后綴用|隔開] * @param [type] $op [description] * @return [type] [description] */ private function deny_ext($op) ~~~ #### 請求方法檢查 ~~~ /** * 方法檢查 可以多種方法使用 |分割 * @param [type] $op [description] * @return [type] [description] */ private function method($op) ~~~ #### 是否是https ~~~ /** * 是否是https * @param [type] $op [description] * @return [type] [description] */ private function https($op) ~~~ #### 檢查http_host域名 ~~~ /** * 檢查http_host域名 多個用|隔開 * @param [type] $op [description] * @return [type] [description] */ private function isDomain($op) ~~~ #### pajx檢查 ~~~ // 是否是pajx 如果為true表示必須是這個來源如果$op為false表示不能是這個來源 private function pjax($op) ~~~ #### 來源檢查 ~~~ /** * 來源域名 * @param [type] $op [description] * ['www.baidu.com',1] 存在第二個參數視為 不能是這個來源 * @return [type] [description] */ private function referer(array $op) ~~~ #### 端口檢查 ~~~ /** * 端口 * @param [type] $op [description] * [80,1] 存在第二個參數視為 不是這個端口 * @return [type] [description] */ private function port(array $op) ~~~ #### 路由前綴 ~~~ /** * 路由前綴和 別名路由相同 * @param array $op [第一個參數是前綴,如果存在第二個表示不能是這個前綴] * @return [type] [description] */ private function prefix($op = []) ~~~ #### 檢查是否存在一些參數 ~~~ /** * 檢查是否存在某些參數 * @param array $op [description] * @return [type] [description] */ private function param(array $op = []) ~~~ #### 自定義回調函數 ~~~ /** * 自定義回調 * @param [type] $op [回調函數 調用時會傳入當前對象] * @return function [description] */ private function callback($op) ~~~
                  <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>

                              哎呀哎呀视频在线观看