当前位置:首页 > PHP > 正文内容

php抽象类和接口作用

高老师9年前 (2017-07-25)PHP2049

【一】.抽象类

假设如下场景:

团队准备开发某网站,表建好了,页面设计好了.A组负责开发底层数据库操作类(DB),B组负责调用DB类.

但是此时A组发生了争执,MySQL? Oracle? DB2? sqlite?到底使用什么数据库?B组.... 进入漫长的等待.

解决方法:

A组和B组 先定1个数据库类的模板,模板中对方法名,参数,返回值,都做严格的规定,此时不管A组选用什么数据库,对于B组来说,没有任何影响。

例如:AB定义一个总的数据库操作类模板

abstract class DB {

 abstract public function getRow($sql);

 abstract public function getAll($sql);

 abstract public function getOne($sql);

 abstract public function upDate($sql);

 abstract public function Exec($sql);

}

class MySQLdb extends Db {

//重写

}

class SqlLitedb extends Db {

//重写

}

项目中使用其他数据库没有关系,只需要继承DB类,例如mysql操作类继承DB类,sqllite操作类继承DB类.然后对具体的方法进行重写。

在多人开发中,我不需要知道SqlLitedb类或者MySQLdb类内部如何实现,因为他们都是按照严格的DB类来实现,我只需要知道DB类的方法名称,参数,返回值就能随便操作任意数据库,而不需要关心如何实现。

【二】.接口

接口是对功能的抽象,功能各拆成小块,因为它支持多实现,能自由组合成新的物种.

通过对抽象类和接口的了解,我们可以将抽象类理解为类的模板,接口则是方法的模板,接口的粒度更小,用于描述通用的方法

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/36.html

分享给朋友:

“ php抽象类和接口作用” 的相关文章

php无限查询下级,php递归统计下级总数,php 获取无限子级

php无限查询下级,php递归统计下级总数,php 获取无限子级

因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员。先看看数据库中的member表字段id            username       &...

全方位认识PHP的SESSION

全方位认识PHP的SESSION

【一】.介绍session由于HTTP是无状态的请求,创建一个会话需要保持必须需要身份标识。当用户第一次访问,PHP会为用户创建一个唯一的sessionid,并将sessionid通过cookie发送给浏览器,并在服务器的临时文件创建一个以sessionid为名的文件用来保存这个sessionid保...

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

redis订阅和发布,redis消息订阅与发布, phpredis订阅和发布

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...

cookie跨域,cookie p3p跨域

cookie跨域,cookie p3p跨域

最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...

 php命令行中文乱码,php cli中文乱码

php命令行中文乱码,php cli中文乱码

<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...

php jsonp转json,php jsonp转数组,php jsonp转对象

php jsonp转json,php jsonp转数组,php jsonp转对象

将jsonp转为PHP数组和对象。/**  * jsonp转数组|Jsonp转json  * @param string $jsonp jsonp字符串  * @param bool $as...