<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之旅 廣告
                #### 使用trait trait是一種為類似 PHP 的單繼承語言而準備的代碼復用機制。trait為了減少單繼承語言的限制,使開發人員能夠自由地在不同層次結構內獨立的類中復用方法集。trait和類組合的語義是定義了一種方式來減少復雜性,避免傳統多繼承和混入類(Mixin)相關的典型問題。 如果你沒有繼承系統的控制器基類,但是又希望能使用think\Controller控制器基類的一些方法,可以引入trait。 ~~~ <?php namespace app\index\controller; class Index { use \traits\controller\Jump; public function hello() { return 'hello'; } } ~~~ 引入`trait`的方式用的也是`use語法`,但和引入類完全不同,建議規范是在類的主體代碼開頭引入`trait`。 現在我們可以直接使用`\traits\controller\Jump`中定義的方法,包括`success/error/result/redirect`(后續我們會專門提到這些方法)。 由于`PHP5.4`版本不支持`trait`的自動加載,因此如果是`PHP5.4版本`,必須手動導入`trait類庫`,系統提供了一個助手函數`load_trait`,用于自動加載`trait類庫`,例如,可以這樣正確引入`trait類庫`。 ~~~ <?php namespace app\index\controller; load_trait('controller/Jump'); class Index { use \traits\controller\Jump; public function hello() { return 'hello'; } } ~~~ 在`PHP5.5+`版本中不要重復使用`load_trait`和`use`加載`trait`,以免造成錯誤。 一個類中可以引入多個`trait`,更多的關于`trait`內容可以參考PHP官方手冊。 用例: ![](https://box.kancloud.cn/4605278df8d19befc65963608d08bd1c_1144x571.png) ~~~ <?php namespace app\index\controller\traits; use think\Debug; trait CurlRequest { protected $model; /** * 清空表復位主鍵序號 * * @return void */ public function clearTbl() { $this->model->clearTbl(); $rtn['success'] = true; _callback($rtn); } } ~~~ 引用: ~~~ <?php namespace app\index\controller; use app\common\controller\Base; use app\index\model\Retention as RetentionModel; /** * 留存日志 */ class Retention extends Base { use \app\index\controller\traits\CurlRequest; protected $model; /** * 控制器初始化 * @return void */ public function _initialize() { //基類授權 // parent::_initialize(); $this->model = new RetentionModel(); } } ~~~
                  <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>

                              哎呀哎呀视频在线观看