<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國際加速解決方案。 廣告
                >[danger] `think\Controller`類取消 系統不再提供基礎控制器類`think\Controller`,原來的`success`、`error`、`redirect`和`result`方法需要自己在基礎控制器類里面實現。 系統默認在應用目錄下面提供了一個`app\BaseController`基礎類,或者你可以直接放入你的應用里面,繼承使用。 你可以安裝下面的擴展用于支持舊版本的跳轉操作 ~~~ composer require liliuwei/thinkphp-jump ~~~ * ### **[多應用控制器定義](#one)** * ### **[單應用模式控制器定義](#two)** * ### **[多級控制器](#three)** * ### **[基礎控制器](#four)** >[danger] ~~注意app目錄下存在controller文件則自動解析為單應用模式6.0測試版有效正式版無效~~ > 果要改變`controller`目錄名,需要在`route.php`配置文件中設置: ~~~ 'controller_layer' => 'controllers', ~~~ > 控制器一般不需要任何輸出,直接`return`即可。并且控制器在`json`請求會自動轉換為`json`格式輸出。 > 不要在控制器中使用包括`die`、`exit`在內的中斷代碼。如果你需要調試并中止執行,可以使用系統提供的`halt`助手函數。 ## **<span id='one'> 多應用控制器定義</span>** >[danger]多應用模式需要安裝多應用模式擴展 ~~~ composer require topthink/think-multi-app ~~~ >[info] 訪問URL地址: ~~~ http://localhost/index.php/admin/showgoods ~~~ >[info]控制器類文件的實際位置 ~~~ app\admin\controller\ShowGoods.php ~~~ >[info]控制器類定義 ~~~ <?php namespace app\admin\controller; class ShowGoods { public function index() { //調試使用halt 不要使用die、exit halt('輸出測試'); return 'index'; // 輸出JSON return json($data); // 渲染默認模板輸出 return view() } } ~~~ ## **<span id='two'> 單應用模式</span>** >[info] 訪問URL地址: ~~~ http://localhost/index.php/showgoods ~~~ >[info]控制器類文件的實際位置 ~~~ app\controller\ShowGoods.php ~~~ >[info]控制器類定義 ~~~ <?php namespace app\controller; class ShowGoods { public function index() { //調試使用halt 不要使用die、exit halt('輸出測試'); return 'index'; // 輸出JSON return json($data); // 渲染默認模板輸出 return view() //return View::fetch('admin@member/edit');//在當前控制器調用時admin@member/可省略。更多參考視圖-模板-模板渲染 } } ~~~ ## **<span id='three'>多級控制器</span>** >[info] 訪問URL地址: ~~~ http://localhost/index.php/admin/v1.blog/index ~~~ >[info]控制器類文件的實際位置 ~~~ app\admin\controller\v1\Blog.php ~~~ >[info]控制器類定義 ``` <?php namespace app\admin\controller\v1; class Blog { public function index() { return 'index'; } } ``` ## **<span id='four'>基礎控制器(BaseController)</span>** >[info] 繼承`app\BaseController`基礎控制器類后可調用`think\App`和`think\Request`對象實例 > 還可使用validate驗證 ~~~ namespace app\controller; use app\BaseController; class Index extends BaseController { // 開啟批量驗證 protected $batchValidate = true; public function index() { //`think\Request`對象 $this->request $action = $this->request->action(); $param = $this->request->param(); //`think\App`對象 $this->app $path = $this->app->getBasePath(); // 控制器驗證 //validate(array $data, $validate(規則數組或者驗證器名字符串), array $message = [], bool $batch = false(是否批量驗證)) try { $this->validate( [ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com', ], 'app\index\validate\User'); } catch (ValidateException $e) { // 驗證失敗 輸出錯誤信息 dump($e->getError()); } } } ~~~ [Request對象](http://www.hmoore.net/a173512/thinkphp6/1805019):$this->request [App對象](http://www.hmoore.net/a173512/thinkphp6/1805020):$this->app ## **控制器后綴** ~~~ namespace app\controller; class User { public function login() { return 'login'; } } ~~~ 如果你希望避免引入同名模型類的時候沖突,可以在`route.php`配置文件中設置 ~~~ // 使用控制器后綴 'controller_suffix' => true, ~~~ 這樣,上面的控制器類就需要改成 ~~~ <?php namespace app\controller; class UserController { public function login() { return 'login'; } } ~~~ 相應的控制器類文件也要改為 ~~~ app\controller\UserController.php ~~~
                  <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>

                              哎呀哎呀视频在线观看