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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 5-3 注冊樹模式 正常情況下,我們現在獲取對象的方法主要有2種: * new 實例化 * 訪問靜態方法 那么有沒有一種可能,我們可以直接獲取1個已經創建好的對象呢?這就是本節所講的注冊模式。 ### 第一步:創建1個注冊類 *D:\wamp\www\demo\oop\framework\Think\Register.php* ~~~ <?php namespace Think; class Register { protected static $obj = array(); static function set($alias, $object) { self::$obj[$alias] = $object; } function _unset($alias) { unset(self::$obj[$alias]); } } ~~~ 聲明了1個 `set()` 方法,將對象注冊。 聲明1個 `_unset()` 方法 (不能和 `unset()` 關鍵字重名),在下文中需要的時候銷毀對象。 ### 第二步:改造工廠類 在工廠類中,實例化生成對象后,將之注冊 *D:\wamp\www\demo\oop\framework\Think\Factory.php* ~~~ static function createDatabase() { $db = Database::getDbInstance(); // 注冊模式之注冊 Register::set('db1', $db); return $db; } ~~~ ### 第三步:在入口文件使用注冊模式 不同于以往的獲取對象的方式,這里不使用 `new` 也不使用靜態方法獲取。 *D:\wamp\www\demo\oop\framework\index.php* ~~~ <?php ... // 工廠模式實例化對象,并注冊 $obj = Think\Factory::createDatabase(); // 注冊后,獲取該對象 $obj = Think\Register::get('db1'); var_dump($obj); ~~~ 使用注冊類中的 `get()` 方法獲取對象。 ### 第四步:編寫 get() 方法 *D:\wamp\www\demo\oop\framework\Think\Register.php* ~~~ static function get($alias) { return self::$obj[$alias]; } ~~~ 至于何時把對象注冊到樹,何時注銷,都在環境的初始化中完成,在業務的邏輯過程中,我們只需要使用 `get()` 方法獲取對象。
                  <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>

                              哎呀哎呀视频在线观看