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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                在config/app.php配置文件中有兩個默認的配置 ``` // 錯誤顯示信息,非調試模式有效 'error_message' => '頁面錯誤!請稍后再試~', // 顯示錯誤信息 'show_error_msg' => false, ``` 在不開啟調試的情況下,頁面錯誤會提示【頁面錯誤!請稍后再試~】 當`'show_error_msg' => true,`時,提示錯誤的代碼 ![](https://img.kancloud.cn/df/e3/dfe3145a45d30b0051c8650b1b2004fc_608x47.png) ![](https://img.kancloud.cn/e0/1d/e01d7732d824787eab3c2e1f5bc3c10a_688x43.png) # **空控制器** >[info]空控制器的概念是指當系統找不到指定的控制器名稱的時候(如模塊和控制器不存在),系統會嘗試定位當前應用下的空控制器(默認:`Error`)類 此類名可在config\route.php中修改: ``` 'empty_controller' => 'Error', ``` >[danger] 空操作貌似已被取消,我們需要在BaseController添加`__call($method,$arg)`方法自定義錯誤處理邏輯 > 在route配置中如果開啟了'controller\_suffix' 使用控制器后綴 則Error.php文件 應該改名為ErrorController.php文件 ## **單應用模式下空控制器的定義** app/controller/Error.php ~~~ namespace app\controller; class Error { public function __call($method, $args) { return 'error request!'; //return json(['status'=>0,'message'=>'找不到該方法'.$method,'result'=>null],400,$header=[]); } } ~~~ ## **多應用模式下空控制器定義** app/admin/controller/Error.php ``` <?php namespace app\admin\controller; class Error { public function __call($method, $args) { return 'error request!'; } } ``` >[info]邏輯在\vendor\topthink\framework\src\think\route\dispatch\Controller.php文件的controller方法里實現的 ``` /** * 實例化訪問控制器 * @access public * @param string $name 資源地址 * @return object * @throws ClassNotFoundException */ public function controller(string $name) { //獲取route.php配置文件是否使用控制器后綴 來設置控制器后綴 $suffix = $this->rule->config('controller_suffix') ? 'Controller' : ''; //訪問控制器層名稱(默認controller目錄) $controllerLayer = $this->rule->config('controller_layer') ?: 'controller'; //空控制器名 $emptyController = $this->rule->config('empty_controller') ?: 'Error'; //解析應用類的類名 $class = $this->app->parseClass($controllerLayer, $name . $suffix); if (class_exists($class)) { return $this->app->make($class, [], true); } elseif ($emptyController && class_exists($emptyClass = $this->app->parseClass($controllerLayer, $emptyController . $suffix))) { return $this->app->make($emptyClass, [], true); } throw new ClassNotFoundException('class not exists:' . $class, $class); } } ```
                  <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>

                              哎呀哎呀视频在线观看