PHP设计模式系列 - 数据访问对象模式
- 数据访问对象模式
数据访问对象模式描述了如何创建透明访问数据源的对象。
- 场景设计
- 设计一个BaseDao基类,实现数据库操作基本的一些query,insert,update方法
- 在实际使用的过程中,继承BaseDao,就可以直接调用基类的数据库操作方法
- 代码:BaseDao 数据库操作基类
- <?php
- //数据访问对象模式
- //将数据库访问层脱离出来 作为公用的访问接口,方便用户开放,是php中常用的一种设计模式
- class BaseDao {
- private $db;
- public function __construct($config) {
- $this->db = mysql_connect($config['user'], $config['pass'], $config['host']);
- mysql_select_db($config['database'], $this->db);
- }
- public function query($sql) {
- return mysql_query($sql, $this->db);
- }
- }
- 代码:UserDao 用户数据表的数据操作,继承BaseDao
- <?php
- include("UserDao.php");
- class UserDao extends BaseDao {
- public function addUser() {
- $sql = "INSERT INTO user (username) VALUES ('initphp')";
- return $this->query($sql);
- }
- }
- $UserDao = new UserDao;
- $UserDao->addUser();
参考:《PHP设计模式》Aaron Saray著
转载于:https://www.cnblogs.com/wanghaitao/p/9440348.html
PHP设计模式系列 - 数据访问对象模式相关推荐
- PHP设计模式--数据访问对象模式
最简单的Web部件和最复杂的在线电子商务Web站点具有一个共同点:它们都要处理数据.大量的编程都设计数据的访问和操作.随着Internet的发展.脸颊存储设备应用数据的大量增长.对分析论的更深入理解以 ...
- Java数据访问对象模式
数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来.以下是数据访问对象模式的参与者. 数据访问对象接 ...
- Java Data Access Object Pattern(数据访问对象模式)
数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来.以下是数据访问对象模式的参与者. 数据访问对象接 ...
- php 规格,PHP 设计模式系列之 specification规格模式_PHP
Plus.php left = $left; $this->right = $right; } /** * 返回两种规格的逻辑与评估 * * @param Item $item * * @ret ...
- php dao类设计,DAO数据访问对象设计 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架...
关于DAO数据访问对象设计其实是关于GoFrame框架工程化实践中比较重要一块设计. DAO设计结合GoFrame的ORM组件性能和易用性都很强,可以极大提高开发和维护效率.看完本章节内容之后,小伙伴 ...
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)...
转自:http://www.cnblogs.com/stonehat/archive/2012/04/16/2451891.html 设计模式系列--三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂 ...
- DAO数据访问对象(Data Access Object)
持久化是将程序中数据库在瞬时状态和持久状态间转换的机制JDBC是一种持久化的机制,将程序直接保存成文本文件也是持久化机制的一种实现 JDBC的封装: 原因: JDBC将程序中的数据持久化保存到MySQ ...
- JavaScript设计模式系列四之外观模式(附案例源码)
文章初衷 设计模式其实旨在解决语言本身存在的缺陷, 目前javaScript一些新的语法特性已经集成了一些设计模式的实现, 大家在写代码的时候,没必要为了用设计模式而去用设计模式, 那么我这边为什么还 ...
- 【设计模式系列19】状态模式原理分析及其和策略模式,责任链模式的区别
状态模式原理分析 设计模式系列总览 前言 什么是状态模式 状态模式示例 状态模式角色 状态模式与责任链模式 状态模式与策略模式 状态模式应用场景 状态模式优缺点 总结 设计模式系列总览 设计模式 飞机 ...
最新文章
- oracle 条件反转,Oracle反转倒置函数
- 217. 验证码 demo
- C和指针 (pointers on C)——第七章:函数(上)
- (精)DEVC++的几个实用小技巧
- LeetCode 1347. 制造字母异位词的最小步骤数
- C语言逐行读取文件内容
- java块语句_Java运算符、表达式、语句块
- 不同级别的Java开发人员的应聘要求
- qt使用QProcess实现进程通信
- 给DW2XLS源代码增加了同时导出多个dw的代码(合并多个dw)
- [转]电子书收集工具
- iOS-二级评论功能
- TabLayout 之改变 Indicator 的宽度
- andriod 和风天气SDK获取实时天气(保姆级教程)
- 外汇基础知识学习3--平仓
- 树莓派能做什么呢?如何使用树莓派
- bootstrap 表头组合
- 大一网页设计期末大作业,HTML+CSS静态网站
- js将汉字转为相应的拼音
- css3有哪些新增属性,CSS3新增属性
热门文章
- kafka 的pom文件_Flink 消费 Kafka 数据
- codis配置_Codis的安装配置
- iis php http500,IIS7.5 PHP环境HTTP经常500错误处理方法
- oracle12 共享内存不存在,DBA警世录:Oracle的共享内存段
- 解码(七):音频重采样SwrContext和swr_convert相关函数详解
- flutter 拖拽布局_Flutter 史上最牛拖动控件 Draggable
- regex match
- python Binary I/O
- python datetime datetime
- Web_audio_spatialization_basics