php设计模式--数据对象映射模式
关于数据对象映射模式,其实就是将数据存储和对象绑定起来,当程序对一个对象操作的时候就会映射到指定的数据存储上,下面就用一个ORM类,将sql语句映射成数据对象,通过操作对象完成对数据表的操作。
代码如下:
首先创建一个Member表(如图所示):
创建一个类 Member:
class Member { //分别对应member表中的id,name,moblie,regtime public $id; public $name; public $mobile; public $regtime; public $db; function __construct() { //连接mysql $conn = new mysqli('localhost', 'root', '123456', 'test'); $this->db = $conn; $res = $conn->query('select * from member limit 1'); $data = $res->fetch_assoc(); $this->id = $data['id']; $this->name = $data['name']; $this->mobile = $data['mobile']; $this->regtime = $data['regtime']; } function __destruct() { $this->db->query("update member set name = '".$this->name."',mobile='".$this->mobile."',regtime=".$this->regtime." where id=".$this->id); } }
$member = new Member();
/*读取数据*/
echo $member->id."<br/>".$member->name."<br/>".$member->mobile."<br/>".$member->regtime;
/*修改数据*/
$member->id = 1;
$member->name="test11";
$member->mobile="15022222222";
$member->regtime=time();
此代码为简单展示数据对象映射模式的实现方式,具体到实际工作中按照需要会与工厂模式,注册模式,单例模式结合使用。