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

                # Model 可以在此層級上劃分出業務層和數據層,開發者可以根據自己的喜好來創建相應的文件夾。 比如app/Models/Data/這個目錄下存放數據層,app/Models/Business/這個目錄存放業務層。 ## Loader 可以通過loader加載其他的model,如果是多層model可以直接包含文件夾名稱進行loader,也可以是用class進行loader。 ```php $this->loader->model("Data/TestModel",$this); $this->loader->model(TestModel::class,$this); ``` ## 使用數據庫 ```php $result = $this->redis_pool->getCoroutine()->get('testroute'); $result = $this->db->select('*') ->from('account')->limit(1) ->coroutineSend(); ``` ## __construct 對象池模式Model會被復用,整個生命周期中__construct只會執行一次。 ```php class TestModel extends Model { public function __construct() { parent::__construct(TestModelProxy::class); } } class TestModelProxy extends ChildProxy { public function test_exception() { $this->beforeCall("test_exception"); return $this->own->test_exception(); } } ``` 上面是高級用法,設置AOP代理,默認每個Model都有層AOP代理,這里可以自定義AOP代理。 ## initialization 通過重寫initialization進行Model的初始化,每次Loader Model的時候都會執行initialization方法,不建議在__construct進行初始化因為是對象池模式Model會被復用,而在整個生命周期中__construct只會執行一次。 ## 獲取異步連接池 首先需要在AppServer中創建連接池 ```php public function initAsynPools() { parent::initAsynPools(); $this->addAsynPool('GetIPAddress',new HttpClientPool($this->config,'http://int.dpool.sina.com.cn')); $this->addAsynPool('WeiXinAPI',new HttpClientPool($this->config,'https://api.weixin.qq.com')); } ``` 然后在Model的initialization方法中獲取 ``` protected $GetIPAddressHttpClient; public function initialization() { parent::initialization(); $this->GetIPAddressHttpClient = get_instance()->getAsynPool('GetIPAddress'); } ``` > Mysql多庫就是創建多個Mysql連接池實現的,但是Mysql連接池需要多一個步驟 ``` public function initialization() { parent::initialization(); $this->mysql2 = get_instance()->getAsynPool('mysql2'); $this->installMysqlPool($this->mysql2); } ```
                  <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>

                              哎呀哎呀视频在线观看