美文网首页
设计模式之:数据对象关系模式

设计模式之:数据对象关系模式

作者: hankviv | 来源:发表于2018-05-03 18:26 被阅读0次

    是将类的对象属性和数据存储映射起来,一个对象的操作会映射为对数据存储的操作,如new一个对象,对应的数据就会映射到这个对象上,对对象属性修改后,就会保存到数据库中。


    接下来我们实现一个简单的ORM的demo:

    class User{
    
        public $id;
        public $age;
        public $name;
    
        protected $db;
        public function __construct($id)
        {
            $this->db = new \IMooc\Database\MySQLi();
            $this->db->connect('localhost','root','root','test');
            $res = $this->db->query("select * from user where id = {$id}");
            $data = $res->fetch_assoc();
            $this->id = $data['id'];
            $this->age = $data['age'];
            $this->name = $data['name'];
        }
    
        function __destruct()
        {
            $res = "update user set name = '{$this->name}' ,age = {$this->age} where id = {$this->id}";
            $res = $this->db->query($res);
        }
    
    }
    

    声明一个User类,然后有三个属性。我们在他的构造函数中传递$id(数据库的主键Id),然后查询指定的数据库数据,再赋值给类的属性,析构函数我们将类现在的属性更新到数据表中。

    $user =new User(1)
    $user->age = 112;
    $user->name='hank';
    

    当我们new这个类并且传递Id的时候,该对象就映射了指定的数据。我们修改指定的属性值,请求结束类自动销毁的时候,构析函数自动运行,将现在的参数更新到指定的字段。

    相关文章

      网友评论

          本文标题:设计模式之:数据对象关系模式

          本文链接:https://www.haomeiwen.com/subject/fjylrftx.html