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

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

作者: 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