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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 1.3 創建路由 ## 1.3.1 路由定義 XPHP 內置了一個高效、簡潔、完整、易用的路由,支持多種方式調用。 路由,顧名思義,就是把訪問的URI(REQUEST_URI)映射(Map)到各個控制器(Controller)上。 ## 1.3.2 靜態Json路由 在 `/Var/Route/` 目錄下存放靜態路由。 靜態路由支持Json格式。每一個路由為一個文件,命名規則:`應用名.json`。(其實只要后綴名是json就行,沒有其他要求) ### 1.3.2.1 一個標準的路由: ```json [ { "base" : "/home", "rule" : { "GET /" : "Home.IndexController:index", "GET /about.html" : "Home.IndexController:about", "POST /auth/{username}.json" : "Home.AuthController:auth" } } ] ``` ### 1.3.2.2 解釋: 每一個路由都是一個json數組,其中每一項有兩個屬性:`base`和`rule`。其中`base`是路由的作用根目錄,例如`/home`只對開頭為`/home`的URI生效。它不支持解析,效率較高,并且能夠使代碼更優雅。 其中的`rule`字段是一個Map,每一項的鍵就是匹配的URI,支持標準正則語法,還有一個附加語法:其中被大括號括起來的部分,會匹配任意字符,最后會把匹配到的數據存儲到`request->data->route`中。(在控制器中,用`$req->data->route`或`$this->app->handler->getRequest()->data->route`可以訪問這一對象。)而值則為控制器名稱,格式:`應用名.控制器名:方法名`。 > tip: 用大括號包起來的部分中只能有英文大小寫,不能有數字,否則不能正常匹配哦! ## 1.3.3 動態路由 在`/Config.php`或其他通過`$app->runScript()`執行的腳本中,可以添加動態路由。 在這些動態腳本的函數主體中,添加: ```php $App->route->on("GET,POST等訪問方式", "匹配的URI,和rule字段的key一樣", 回調函數); ``` 其中,回調函數須為callable,例如閉包函數就符合。如果需要使用控制器,那么回調函數可以這么寫: ```php $App->controllerAsCallback("控制器名,和rule字段的值一樣"); ``` 此外,還有如下替代寫法: ```php $App->route->get("URI", callback); 對應 $App->route->on("get", "URI", callback); $App->route->post("URI", callback); 對應 $App->route->on("post", "URI", callback); $App->route->delete("URI", callback); 對應 $App->route->on("delete", "URI", callback); $App->route->put("URI", callback); 對應 $App->route->on("put", "URI", callback); $App->route->patch("URI", callback); 對應 $App->route->on("patch", "URI", callback); $App->route->cli("URI", callback); 對應 $App->route->on("cli", "URI", callback); 依次類推。 ```
                  <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>

                              哎呀哎呀视频在线观看