<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之旅 廣告
                ## 2.4 加載控制器 ~~~ 1. 新建app項目 2. 新建index控制器index方法 3. 加載控制器 ~~~ ### 1. 新建app項目 新建 `/app` 文件夾,接著創建 `/app/ctrl` 文件夾存放控制器文件,在控制器文件夾下創建一個 `/app/ctrl/indexCtrl.php` 為什么不直接創建 `index.php` 的原因,是為了防止控制器方法和類名重名。 ### 2. 新建index控制器index方法 *D:\wamp\www\web.com\app\ctrl\indexCtrl.php* ~~~ <?php namespace app\ctrl; class indexCtrl { public function index() { p("這是index控制器的index方法"); } } ~~~ ### 3. 加載控制器和方法 上一節,我們通過路由類實現了通過解析URL找到了控制器和對應的方法。那么這一小節,我們來加載對應的控制器和方法。 **定義模塊名常量:** *D:\wamp\www\web.com\index.php* ~~~ define('MODULE', 'app'); ~~~ **加載控制器和方法:** *D:\wamp\www\web.com\core\thinkphp.php* ~~~ static public function run() { $route = new \core\lib\route(); // 解析URL獲取控制器和方法名 $ctrlClass = $route->ctrl; $action = $route->action; $ctrlFile = APP.'/ctrl/'.$ctrlClass.'Ctrl.php'; $ctrlClass = '\\'.MODULE.'\ctrl\\'.$ctrlClass.'Ctrl'; // 判斷控制器的類文件是否存在,否則拋出異常 if (is_file($ctrlFile)) { include $ctrlFile; // 實例化控制器類 $ctrl = new $ctrlClass(); // 判斷控制器中的方法是否存在,否則拋出異常 if (method_exists($ctrl, $action)) { // 調用控制器中的方法 $ctrl->$action(); } else { throw new \Exception($ctrlClass."控制器中不存在".$action."方法"); } } else { throw new \Exception("找不到控制器".$ctrlClass); } } ~~~ > 常見 類/對象 的函數:<http://php.net/manual/zh/ref.classobj.php> **調整入口文件的運行框架的方法** *D:\wamp\www\web.com\index.php* ~~~ try { \core\thinkphp::run(); } catch (\Exception $e) { echo $e->getMessage(); } ~~~ ### 4. 效果 ![](https://box.kancloud.cn/8e0466536b313034cd9db33ec9345a69_742x285.png) ![](https://box.kancloud.cn/a8692ae4ca62a5f1185a85664daf8dd0_742x285.png) ![](https://box.kancloud.cn/0dcc2cb88be9b60900d78a56ca4ca85d_742x285.png)
                  <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>

                              哎呀哎呀视频在线观看