php面向对象进阶设计模式:数据访问对象模式

巴扎黑
发布: 2017-05-22 09:48:58
原创
1754人浏览过

什么是数据访问对象模式?

数据访问对象设计模式描述了如何创建提供透明访问任何数据的对象。

数据访问对象模式应用问题与解决方案

对于同时学过PHP和MySQL的人来说,数据访问对象设计模式是一个全新的和令人兴奋的概念。这种设计模式的目的是解决下列两种特定的问题:重复与数据源抽象化。

我们应当创建一个数据访问对象设计模式的对象。这个数据访问对象封装了创建sQL调用、减少实例创建的复杂性和重复以及更新进程的智能方式,其编写方式应当是:该对象的使用者不会知道实际使用的表结构和数据库引擎。此外,这个对象应用的方法应当使用逻辑参数,并且应处理SQL语句的创建工作。

立即学习PHP免费学习笔记(深入)”;

        数据访问对象模式的额外优点是提供数据库抽象层。现在,应用程序的主要处理代码不再需要考虑数据库引擎或表关系。调用这种对象的公共方法会返回任何数据类型,并且不用考虑内在SQL需要的类型。

 管理数据访问对象类中简单性的一个好办法是创建父-子关系。首先,创建一个基本的父对象。这个对象应当负责数据库连接、抽象地执行查询以及与子对象通信。使用数据访问对象设计模式时,最好开始就将一对一关系的子类与数据库中的表相关联。这些子类具有必不可少的信息,如表名和主键。此外,子类可能包含一些特定的公共方法,这些方法通过只对子类有意义的方式执行父类的查询。例如,名为userAddress的子类可能包含一个getAddreddesByZip()方法。将该方法放入父DAO类是毫无逻辑意义的,并且会破坏这个父类希望实现的抽象性。

        处理引用特定数据库信息的实体时,最好的做法是创建一个数据访问对象。

<?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面向对象进阶设计模式:数据访问对象模式的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号