<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之旅 廣告
                默認在Controller主控制器 我們稱為訪問控制器 了訪問控制器外,我們還可以定義其他分層控制器類,這些分層控制器是不能夠被URL訪問直接調用到的,只能在訪問控制器、模型類的內部,或者視圖模板文件中進行調用。 例如,我們在application\index\event定義Blog事件控制器Blog.php如下: ~~~ //namespace app\index\controller; namespace app\index\event; class Blog { public function insert() { return 'insert'; } public function update($id) { return 'update:'.$id; } public function delete($id) { return 'delete:'.$id; } } ~~~ 定義完成后,就可以用下面的方式實例化并調用方法了: ~~~ $event = \think\Loader::controller('Blog', 'event'); echo $event->update(5); // 輸出 update:5 echo $event->delete(5); // 輸出 delete:5 ~~~ 為了方便調用,系統提供了controller助手函數直接實例化多層控制器,例如: ~~~ $event = controller('Blog', 'event'); echo $event->update(5); // 輸出 update:5 echo $event->delete(5); // 輸出 delete:5 ~~~ 支持跨模塊調用,例如: ~~~ $event = controller('Admin/Blog', 'event'); echo $event->update(5); // 輸出 update:5 ~~~ 表示實例化Admin模塊的Blog控制器類,并執行update方法。 除了實例化分層控制器外,還可以直接調用分層控制器類的某個方法,例如: ~~~ echo \think\Loader::action('Blog/update', ['id' => 5], 'event'); // 輸出 update:5 ~~~ 也可以使用助手函數`action`實現相同的功能: ~~~ echo action('Blog/update', ['id' => 5], 'event'); // 輸出 update:5 ~~~ 利用分層控制器的機制,我們可以用來實現`Widget`(其實就是在模板中調用分層控制器),例如: 定義`index\widget\Blog`控制器類如下: ~~~ namespace app\index\widget; class Blog { public function header() { return 'header'; } public function left() { return 'left'; } public function menu($name) { return 'menu:'.$name; } } ~~~ 我們在模板文件中就可以直接調用`app\index\widget\Blog`分層控制器了, 使用助手函數`action` ~~~ {:action('Blog/header', '', 'widget')} {:action('Blog/menu', ['name' => 'think'], 'widget')} ~~~ 框架還提供了`widget`函數用于簡化`Widget`控制器的調用, 可以直接使用助手函數`widget` ~~~ {:widget('Blog/header')} {:widget('Blog/menu', ['name' => 'think'])} ~~~
                  <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>

                              哎呀哎呀视频在线观看