PHP设计模式(4)—— 数据对象映射模式


基本概念

数据对象映射模式,是将对象和数据存储映射起来,对一个对象操作会映射成对数据存储的操作。

这个模式的应用例子就是现在流行的ORM。



简单例子

User类


class User
{
	// 属性和数据库表的字段一一对应
	public $id;
	public $name;
	public $mobile;
	public $regtime;

	// 数据库对象
	protected $db;
	
	// 构造函数
	function __construct($id){
		
		// 连接数据库、查询数据
		$this->db = new PDO("mysql:host=localhost; dbname=test",'root','');
		
		// 查询
		$sql = "SELECT * FROM user where id = " . $id . " LIMIT 1";
		$stmt = $this->db->query($sql);
		
		// 获取结果集
		$data = $stmt -> 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 = '{$this->name}' WHERE id = {$this->id} LIMIT 1";
		$this->db->exec($sql);
	}
}


使用User类


$user = new User(1);

// 修改属性
$user->name = 'tim';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值