最后执行$user->serial_no=rand(1000,90000); 为什么能保存到数据库啊?

来源:12-1 [php]迭代器模式

慕粉3216583

2016-09-16 09:10

最后执行$user->serial_no=rand(1000,90000); 为什么能保存到数据库啊????这也是数据对象映射模式原理???还是这个属于迭代器模式的一个用处?因为我没看到你保存到数据库在哪里保存的啊

写回答 关注

5回答

  • 哈密瓜的哈
    2018-12-21 14:14:20

    是在析构方法中实现的。

  • 故事还是关于你啊
    2016-12-29 21:02:27

    这个问题好。!!么么哒

  • Superman007
    2016-10-05 16:55:37

    user.php代码需要修改一下

    <?php
    namespace IMooc;
    
    class User
    {
        //数据库表
        public $id;
        public $name;
        public $mobile;
        public $regtime;
        public $seril_no;
    
        protected $data;
        protected $db;
    
        function __construct($id)
        {
            /**
             * 适配器模式-统一接口
             * 工厂模式,在一个地方创建对象
             * 注册树模式,同一个对象,只创建一次
             */
            $this->db = \IMooc\Factory::createDBMySQLi();
            $this->db->connect('localhost', 'root', '', 'test', 'utf8');
            $res = $this->db->query("select * from user where id = {$id} limit 1");
            $data = $res->fetch_assoc();
    
            $this->id = $data['id'];
            $this->name = $data['name'];
            $this->mobile = $data['mobile'];
            $this->regtime = $data['regtime'];
            $this->seril_no = $data['seril_no'];
        }
    
        //析构方法
        function __destruct()
        {
            $this->db->query("update user set name ='{$this->name}', mobile='{$this->mobile}',
              regtime='{$this->regtime}', seril_no='{$this->seril_no}'  where id = {$this->id} limit 1");
        }
    }


  • guo6688
    2016-09-17 11:32:13

    你再看一下第8章 数据对象映射模式~~多看看就知道了

  • qq_真伟平無双_03950330
    2016-09-16 17:02:33

    前面封装好了呀,当对象destroy销毁的时候写的应该是

大话PHP设计模式

帮助PHPer具备使用设计模式解决工程中复杂逻辑的能力

62164 学习 · 230 问题

查看课程

相似问题