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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 操作綁定到類 ## 定義 ThinkPHP3.2版本提供了把每個操作方法定位到一個類的功能,可以讓你的開發工作更細化,可以設置參數ACTION_BIND_CLASS,例如: ```Php 'ACTION_BIND_CLASS' => True, ``` 設置后,我們的控制器定義有所改變,以URL訪問為 http://serverName/Home/Index/index為例,原來的控制器文件定義位置為: >Application/Home/Controller/IndexController.class.php 控制器類的定義如下: ```Php namespace Home\Controller; use Think\Controller; class IndexController extends Controller{ public function index(){ echo '執行Index控制器的index操作'; } } ``` 可以看到,實際上我們調用的是 Home\Controller\IndexController 類的index方法。 設置后,控制器文件位置改為: >Application/Home/Controller/Index/index.class.php 控制器類的定義如下: ```Php namespace Home\Controller\Index; use Think\Controller; class index extends Controller{ public function run(){ echo '執行Index控制器的index操作'; } } ``` 現在,我們調用的其實是 Home\Controller\Index\index 類的run方法。 run方法依舊可以支持傳入參數和進行Action參數綁定操作,但不再支持A方法實例化和R方法遠程調用,我們建議R方法不要進行當前訪問控制器的遠程調用。 ## 前置和后置操作 當設置操作方法綁定到類后,前置和后置操作的定義有所改變,只需要在類里面定義_before_run和_after_run方法即可,例如: ```Php namespace Home\Controller\Index; use Think\Controller; class index extends Controller{ public function _before_run(){ echo 'before_'.ACTION_NAME; } public function run(){ echo '執行Index控制器的index操作'; } public function _after_run(){ echo 'after_'.ACTION_NAME; } } ``` ## 空控制器 操作方法綁定到類后,一樣可以支持空控制器,我們可以創建 Application/Home/Controller/_empty目錄,即表示如果找不到當前的控制器的話,會到_empty控制器目錄下面定位操作方法。 例如,我們訪問了URL地址 http://serverName/Home/Test/index,但并不存在 Application/Home/Controller/Test目錄,但是有定義 Application/Home/Controller/_empty目錄。 并且我們有定義: >Application/Home/Controller/_empty/index.class.php 控制器定義如下: ```Php namespace Home\Controller\_empty; use Think\Controller; class index extends Controller{ public function run(){ echo '執行'CONTROLLER_NAME.'控制器的'.ACTION_NAME.'操作'; } } ``` 訪問http://serverName/Home/Test/index后 輸出結果顯示: >執行Test控制器的index操作 ## 空操作 操作綁定到類后,我們依然可以實現空操作方法,我們只要定義一個 Home\Controller\Index\_empty類,就可以支持Index控制器的空操作訪問,例如: 控制器定義如下: ```Php namespace Home\Controller\Index; use Think\Controller; class _empty extends Controller{ public function run(){ echo '執行Index控制器的'.ACTION_NAME.'操作'; } } ``` 當我們訪問http://serverName/Home/Index/test后 輸出結果顯示: >執行Index控制器的test操作
                  <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>

                              哎呀哎呀视频在线观看