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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 8-2 數據對象映射模式之案例復雜實現 ### 1. 現在的不足實例 *D:\wamp\www\demo\oop\framework\index.php* ~~~ <?php ...... class Page { function index() { // 實例化1個用戶表對象:User $user = new Think\User(3); $this->test(); $user->name = '修改后的名字'; } function test() { $user = new Think\User(3); $user->passwd = md5('111'); } } $page = new Page(); $page->index(); ~~~ 不足的地方是:創建了2個對象。我們使用工廠模式、注冊模式來完善數據對象映射。 ## 使用工廠方法而不是直接new 好處:類的名稱發送改變,只需要修改工廠類中的類名即可。 *D:\wamp\www\demo\oop\framework\Think\Factory.php* ~~~ static function getUser($id) { $user = new User($id); return $user; } ~~~ *D:\wamp\www\demo\oop\framework\index.php* ~~~ class Page { function index() { // 實例化1個用戶表對象:User $user = Think\Factory::getUser(4); $user->name = 'zhangsan'; $this->test(); } function test() { $user2 = Think\Factory::getUser(4); $user2->passwd = 333; } } $page = new Page(); $page->index(); $page->test(); ~~~ ### 使用注冊模式獲取User對象 *D:\wamp\www\demo\oop\framework\Think\Factory.php* ~~~ // 使用注冊模式 static function getUser($id) { $key = 'user_'.$id; $user = Register::get($key); if (!$user) { $user = new User($id); Register::set($key, $user); } return $user; } ~~~ *D:\wamp\www\demo\oop\framework\index.php* ~~~ <?php // 入口文件 define('BASEDIR', __DIR__); include BASEDIR . '/Think/Loder.php'; spl_autoload_register('\\Think\\Loder::autoload'); header("Content-Type:text/html charset=utf-8"); echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />"; class Page { function index() { // 實例化1個用戶表對象:User $user = Think\Factory::getUser(4); $user->name = 'zhangsan999'; var_dump($user); echo "ok"; } function test() { $user = Think\Factory::getUser(4); $user->passwd = 333999; var_dump($user); } } $page = new Page(); $page->index(); $page->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>

                              哎呀哎呀视频在线观看