php设计模式之数据对象映射模式

<?php

namespace Tools;

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

//User对象映射到数据库中的user表
class User{
	public $id;
	public $username;
	public $password;

	protected $db;

	//类实例化是赋值对象属性
	function  __construct($id)
	{
		$this->db = new \Tools\MYSQLI();
		$this->db->connect("localhost","root","","test");
		$res = $this->db->query("select * from user limit 1");
		$data = $res->fetch_assoc();
		$this->id=$data['id'];
		$this->username = $data['username'];
		$this->password = $data['password'];
	}

	//类销毁时更新对象到数据库
	function __destruct()
	{
		$sql = "update user set username='{$this->username}',password='{$this->password}' where id={$this->id}";
		$this->db->query($sql);
		echo $sql;
	}
}

$user = new \Tools\User(1);
var_dump($user->id,$user->username,$user->password);
$user->username = "张三";
$user->password = "admin";



转载于:https://my.oschina.net/tongjh/blog/614573

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值