php设计模式--数据对象映射模式
关于数据对象映射模式,其实就是将数据存储和对象绑定起来,当程序对一个对象操作的时候就会映射到指定的数据存储上,下面就用一个ORM类,将sql语句映射成数据对象,通过操作对象完成对数据表的操作。
代码如下:
首先创建一个Member表(如图所示):
创建一个类 Member:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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();
此代码为简单展示数据对象映射模式的实现方式,具体到实际工作中按照需要会与工厂模式,注册模式,单例模式结合使用。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步