首页 > 模式算法 > php中的数据映射模式
2012
05-02

php中的数据映射模式

概念


数据对象映射模式,就是将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作,数据映射模式使您能更好的组织你的应用程序与数据库进行交互。大家如果用过 thinkphp 这个框架,应该知道里面的 Model 吧,当你 new User(或 $user = M(‘User’)) 的时候,其实就是在操作 user 表


示例


class User
{
    //分别对应User表里面的四个字段
    public $id;
    public $name;
    public $mobile;
    public $regtime;

    //保存数据库连接
    private $db;

    function __construct($id)
    {
        $this->db = new PDO('mysql:host=127.0.0.1;dbname=test', 'root', 'zhongjin');
        $res = $this->db->query("SELECT * FROM user WHERE id={$id} LIMIT 1");
        $data = $res->fetch(PDO::FETCH_ASSOC);
        $this->id = $data['id'];
        $this->name = $data['name'];
        $this->mobile = $data['mobile'];
        $this->regtime = $data['regtime'];
    }

    function __destruct()
    {
        $sql = "UPDATE user SET name=?,mobile=?,regtime=? WHERE id=? LIMIT 1";
        $res = $this->db->prepare($sql);
        $res->execute(array($this->name, $this->mobile, $this->regtime, $this->id));
    }
}


链式操作


要想继续实现常见的链式操作,就要用到流接口模式了,详情见 https://phpmianshi.com/?id=128


本文》有 0 条评论

留下一个回复