• 数据访问对象模式

数据访问对象模式描述了如何创建透明访问数据源的对象。

  • 场景设计
  1. 设计一个BaseDao基类,实现数据库操作基本的一些query,insert,update方法
  2. 在实际使用的过程中,继承BaseDao,就可以直接调用基类的数据库操作方法
  • 代码:BaseDao 数据库操作基类
[php] view plaincopy print?
  1. <?php
  2. //数据访问对象模式
  3. //将数据库访问层脱离出来 作为公用的访问接口,方便用户开放,是php中常用的一种设计模式
  4. class BaseDao {
  5. private $db;
  6. public function __construct($config) {
  7. $this->db = mysql_connect($config['user'], $config['pass'], $config['host']);
  8. mysql_select_db($config['database'], $this->db);
  9. }
  10. public function query($sql) {
  11. return mysql_query($sql, $this->db);
  12. }
  13. }
  • 代码:UserDao 用户数据表的数据操作,继承BaseDao
[php] view plaincopy print?
  1. <?php
  2. include("UserDao.php");
  3. class UserDao extends BaseDao {
  4. public function addUser() {
  5. $sql = "INSERT INTO user (username) VALUES ('initphp')";
  6. return $this->query($sql);
  7. }
  8. }
  9. $UserDao = new UserDao;
  10. $UserDao->addUser();

参考:《PHP设计模式》Aaron Saray著

转载于:https://www.cnblogs.com/wanghaitao/p/9440348.html

PHP设计模式系列 - 数据访问对象模式相关推荐

  1. PHP设计模式--数据访问对象模式

    最简单的Web部件和最复杂的在线电子商务Web站点具有一个共同点:它们都要处理数据.大量的编程都设计数据的访问和操作.随着Internet的发展.脸颊存储设备应用数据的大量增长.对分析论的更深入理解以 ...

  2. Java数据访问对象模式

    数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来.以下是数据访问对象模式的参与者. 数据访问对象接 ...

  3. Java Data Access Object Pattern(数据访问对象模式)

    数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来.以下是数据访问对象模式的参与者. 数据访问对象接 ...

  4. php 规格,PHP 设计模式系列之 specification规格模式_PHP

    Plus.php left = $left; $this->right = $right; } /** * 返回两种规格的逻辑与评估 * * @param Item $item * * @ret ...

  5. php dao类设计,DAO数据访问对象设计 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架...

    关于DAO数据访问对象设计其实是关于GoFrame框架工程化实践中比较重要一块设计. DAO设计结合GoFrame的ORM组件性能和易用性都很强,可以极大提高开发和维护效率.看完本章节内容之后,小伙伴 ...

  6. 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)...

    转自:http://www.cnblogs.com/stonehat/archive/2012/04/16/2451891.html 设计模式系列--三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂 ...

  7. DAO数据访问对象(Data Access Object)

    持久化是将程序中数据库在瞬时状态和持久状态间转换的机制JDBC是一种持久化的机制,将程序直接保存成文本文件也是持久化机制的一种实现 JDBC的封装: 原因: JDBC将程序中的数据持久化保存到MySQ ...

  8. JavaScript设计模式系列四之外观模式(附案例源码)

    文章初衷 设计模式其实旨在解决语言本身存在的缺陷, 目前javaScript一些新的语法特性已经集成了一些设计模式的实现, 大家在写代码的时候,没必要为了用设计模式而去用设计模式, 那么我这边为什么还 ...

  9. 【设计模式系列19】状态模式原理分析及其和策略模式,责任链模式的区别

    状态模式原理分析 设计模式系列总览 前言 什么是状态模式 状态模式示例 状态模式角色 状态模式与责任链模式 状态模式与策略模式 状态模式应用场景 状态模式优缺点 总结 设计模式系列总览 设计模式 飞机 ...

最新文章

  1. oracle 条件反转,Oracle反转倒置函数
  2. 217. 验证码 demo
  3. C和指针 (pointers on C)——第七章:函数(上)
  4. (精)DEVC++的几个实用小技巧
  5. LeetCode 1347. 制造字母异位词的最小步骤数
  6. C语言逐行读取文件内容
  7. java块语句_Java运算符、表达式、语句块
  8. 不同级别的Java开发人员的应聘要求
  9. qt使用QProcess实现进程通信
  10. 给DW2XLS源代码增加了同时导出多个dw的代码(合并多个dw)
  11. [转]电子书收集工具
  12. iOS-二级评论功能
  13. TabLayout 之改变 Indicator 的宽度
  14. andriod 和风天气SDK获取实时天气(保姆级教程)
  15. 外汇基础知识学习3--平仓
  16. 树莓派能做什么呢?如何使用树莓派
  17. bootstrap 表头组合
  18. 大一网页设计期末大作业,HTML+CSS静态网站
  19. js将汉字转为相应的拼音
  20. css3有哪些新增属性,CSS3新增属性

热门文章

  1. kafka 的pom文件_Flink 消费 Kafka 数据
  2. codis配置_Codis的安装配置
  3. iis php http500,IIS7.5 PHP环境HTTP经常500错误处理方法
  4. oracle12 共享内存不存在,DBA警世录:Oracle的共享内存段
  5. 解码(七):音频重采样SwrContext和swr_convert相关函数详解
  6. flutter 拖拽布局_Flutter 史上最牛拖动控件 Draggable
  7. regex match
  8. python Binary I/O
  9. python datetime datetime
  10. Web_audio_spatialization_basics