<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 功能強大 支持多語言、二開方便! 廣告
                >[danger] 該組件為系統組件,在組件樹中只可命名為 route ,不可修改為其他名稱。 ## 路由 路由是 MixPHP 的核心組件之一,秉承極簡理念,底層使用正則構建,好用又簡單,默認配置了控制器一級目錄的訪問規則,控制器多級目錄需增加路由規則。 | 類 | 調用 | | --- | --- | | Mix\Http\Route | app()->route | ## 依賴注入配置 [>> 到 GitHub 查看默認配置 <<](https://github.com/mix-php/mix/blob/v2/applications/http/config/main_coroutine.php#L152) >[info] 通常你不需要修改配置就能完成大部分的開發任務。 ### 路由規則 路由規則在 rules 字段內定義,例如: ~~~php // 路由規則 'rules' => [ // 靜態路由:固定匹配控制器與方法 '/news/article/{id}.html' => ['News', 'Article'], // 動態路由:動態匹配控制器與方法 '/api/{controller}/{action}' => ['api/{controller}', '{action}'], ], ~~~ >[info] 通常我們不推薦靜態路由與動態路由混合使用,當開發 Web 網頁時更合適使用動態路由,開發 API 時更合適使用靜態路由。 上面的動態路由定義了一個 API 接口的規則,匹配的URL與指向的功能如下: | URL | 控制器::方法 | | --- | --- | | http://site.com/api/user | controller\api\UserController::actionIndex | | http://site.com/api/user/setting | controller\api\UserController::actionSetting | | http://site.com/api/user_info/setting_profile | controller\api\UserInfoController::actionSettingProfile | | http://site.com/api/user-info/setting-profile | controller\api\UserInfoController::actionSettingProfile | 路由規則還支持HTTP請求方法匹配: ~~~php // 路由規則 'rules' => [ // 只有GET或POST才可訪問 'GET|POST /api/{controller}/{action}' => ['api/{controller}', '{action}'], ], ~~~ 框架支持的全部請求方法如下: ~~~ CLI|GET|POST|PUT|PATCH|DELETE|OPTIONS|HEAD|TRACE ~~~ 通過HTTP請求方法匹配,能夠很簡單的構建出 `RESTful` 風格。 ~~~php // 路由規則 'rules' => [ 'GET /api/{controller}' => ['api/{controller}', 'Index'], 'POST /api/{controller}' => ['api/{controller}', 'Save'], 'GET /api/{controller}/{id}' => ['api/{controller}', 'Read'], 'PUT /api/{controller}/{id}' => ['api/{controller}', 'Update'], 'DELETE /api/{controller}/{id}' => ['api/{controller}', 'Delete'], ], ~~~ ### 默認路由規則 如果你沒有定義任何路由規則,框架會默認定義下面的通用路由規則: ~~~php // 一級路由 '/{controller}/{action}' => ['{controller}', '{action}'], ~~~ >[info] 所以你什么都不定義就可以訪問 首頁 與 一級目錄的控制器。 ### 通用多級路由配置 可以定義任意層級的通用路由,以下代碼定義了三級通用路由: ~~~php // 一級路由 '/{controller}/{action}' => ['{controller}', '{action}', 'middleware' => ['Before']], // 二級路由 '/{second}/{controller}/{action}' => ['{second}/{controller}', '{action}', 'middleware' => ['Before']], // 三級路由 '/{three}/{second}/{controller}/{action}' => ['{three}/{second}/{controller}', '{action}', 'middleware' => ['Before']], ~~~ ### 路由變量 上一節中 `{controller}` `{action}` 就是路由變量,但是這兩個變量是特殊變量,是專用于指向控制器與方法的,其他名稱的變量為普通變量。 下面演示一下普通變量的使用: ~~~php // 路由規則 'rules' => [ '/news/article/{id}.html' => ['News', 'Article'], ], ~~~ 匹配的URL與指向的功能如下: | URL | 控制器::方法 | | --- | --- | | http://site.com/news/article/548762154.html | controller\NewsController::actionArticle | 上面定義的普通變量并沒有在規則中使用,而是需要在控制器代碼中使用,代碼中可以這樣獲取變量值: ~~~php // 獲取全部路由變量 app()->request->route(); // 獲取單個路由變量 app()->request->route('id'); ~~~ ### 路由變量規則 路由變量也是可以定義規則的,規則是正則表達式,在 `patterns` 字段內定義。 >[info] 定義了變量規則后,當變量所在URL段不符合規則時,框架會拋出 404 錯誤。 ### 默認變量規則 如果你沒有為變量定義規則,默認為 `defaultPattern` 字段內定義的規則,如果你連 `defaultPattern` 也沒有定義,則默認為 `[\w-]+`。
                  <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>

                              哎呀哎呀视频在线观看