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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # 1.4 創建控制器 ## 1.4.1 控制器概念 在XPHP中,每一次請求,首先會交給`Handler`解析,然后經過`Route`(路由)分配,接下來就是到了`Controller`(控制器)手中。 控制器是您編寫業務邏輯代碼的地方。 所有控制器文件都應這樣命名:`/App/應用名稱/控制器名稱.class.php`。 控制器名稱命名規范:大駝峰,最后跟`Controller`,例如`CommandLineController`,`IndexController`。 ## 1.4.2 創建第一個控制器 ### 1.4.2.1 實例 例如我有一個`Home`應用,其中有一個名為`IndexController`的控制器,此控制器有一個`index`方法,返回`Home/Index`模板的內容。 文件名:`/App/Home/IndexController.class.php`。 ```php <?php /** * A Demo Controller. * * @author xtl<xtl@xtlsoft.top> * @license MIT * */ namespace Controller\Home; class IndexController extends \X\Controller { /** * Index Method * * @param \X\Request $req * * @return \X\Response * */ public function index(\X\Request $req) { return $this->view("Home/Index"); } } ``` ### 1.4.2.2 詳解 一個控制器就是一個類,并且一個控制器文件只允許包含一個對應的控制器類:例如在`\App\Home\FooBarController.class.php`中只能包含`Controller\Home\FooBarController`,而不能包含`Controller\Home\BarBazController`。 每個控制器文件開頭要用`namespace`申明命名空間,格式:`Controller\應用名`。 每個控制器類名就是控制器名,而且需要繼承(`extends`)控制器基類:`\X\Controller`,否則不僅無法使用`view`,`response`等已封裝的方法,而且也無法作為標準容器類進行實例化。 每個控制器方法的屬性必須為`public`,有且只有一個參數,該參數會傳遞`\X\Request`的實例,包括訪問的信息,例如Post Data等等。 每個控制器方法的返回值必須是`\X\Response`的實例,可以通過`$this->response()`,`$this->view()`,`$this->json()`等方法快速實例化。
                  <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>

                              哎呀哎呀视频在线观看