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

php抽象类有什么用, php抽象类的作用

高老师9年前 (2017-06-13)PHP1972

    理解抽象类最快的方法就是使用场景,最近在看布尔PHP视频中看到这样的讲解非常容易懂,分享出来。

    假设如下场景:

    团队准备开发某网站,表建好了,页面设计好了.

    A组负责开发底层数据库操作类(DB)(多个DB类,操作Mysql类,操作SQLSERVER,SQLlite......).

    B级负责调用DB类.

    A组发生了争执,MySQL? Oracle? DB2? sqlite?规范是什么?

    B组.... 在争执中漫长等待.

    能否让B组不等待?

    解决:

    A组和B组先定1个数据库类的模板:

    模板中对 方法名,参数,返回值,都做严格的规定

    此时不管A组选用什么数据库,对于B组来说,没有任何影响;

    代码如下:(只需要知道抽象类是一种规范,具体实现由子类来做。)

 //定义一个抽象类,相当于模板
 abstract  class  DB{
 	
	/*
	 * 连接数据库,从配置文件读取配置信息
	 * 
	 */
	abstract public  function conn();
	
	
	/*
	 * 执行参数中的sql语句
	 * 
	 */
	abstract public  function query($sql);
	
	
	/*
	 * 获取多行数据
	 * 
	 */
	abstract public  function getAll(); 
	
	
	/*
	 * 获取单条数据
	 * 
	 */
	abstract public  function  getOne();
	
	
	/*
	 * 自定义创建Sql语句执行 (数据关联数组,表名字,动作,条件)
	 * 
	 */
	abstract public function  Exce($data,$table,$act='insert',$where='0');
	
	
	
	
	/*
	 * 返回上一条insert语句产生的主键值
	 * 
	 */
	abstract public  function lastId();
	
	
	/*
	 * 返回上一条语句影响的行数
	 * 
	 */
	abstract public  function affectRows();
	
	
	
	
 }
 
 
 
 //01.使用抽象类先来创建一个Mysql操作类 
class Mysql  extends DB{
	

	public function __construct(){

	}
	
	
	public function conn(){
	
	}
	
	
	
	public  function query($sql){

	}
	
	
	public  function getAll(){
	
	} 
	
	
	public  function  getOne(){
		
	}
	
	
	public function  Exce($data,$table,$act='insert',$where='0'){
		
	}
	
	
	public  function lastId(){
		
	}
	
	
	public  function affectRows(){
		
	}
	
	
}


 //02.使用抽象类先来创建一个Mssql操作类 
class Mssql  extends DB{
	

	public function __construct(){

	}
	
	
	public function conn(){
	
	}
	
	
	
	public  function query($sql){

	}
	
	
	public  function getAll(){
	
	} 
	
	
	public  function  getOne(){
		
	}
	
	
	public function  Exce($data,$table,$act='insert',$where='0'){
		
	}
	
	
	public  function lastId(){
		
	}
	
	
	public  function affectRows(){
		
	}
	
	
}

    

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

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

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

分享给朋友:

“ php抽象类有什么用, php抽象类的作用” 的相关文章

php调用 java webservice接口

php调用 java webservice接口

php调用Webservice基本语法如下:$url ='xxxxxxx.cn'  //链接服务器端 $client = new SoapClient($url);通过以上语法已经连接到webservice,也可将wsdl在本地使用,...

 php header属性,php header 详解,php header的作用

php header属性,php header 详解,php header的作用

header() 函数向客户端发送原始的 HTTP 报头。(官方解释)通俗的讲header函数将参数中的字符串作为服务端的响应头来返回给客户端。什么是服务端的响应头?打开谷歌浏览器看看network中的请求response header信息即可。更多的参数百度response header即可浏览器...

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/*  * 获取当前PHP文件名称  */ if (!function_exists('phpself&#...

PHP异常处理,PHP自定义错误,PHP记录错误日志

PHP异常处理,PHP自定义错误,PHP记录错误日志

面试中PHP面试官会问调用一个不存在的方法,如何知道是哪个文件哪行调用的?假设方法是getWorkLoad()回答1:开启PHP错误输出,PHP会输出Fatal error: Call to undefined function getWorkLoad() in D:\wwwroot\thinkpa...

php多进程实现任务管理器,定时执行任务,支持守护

php多进程实现任务管理器,定时执行任务,支持守护

主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /**  * 订单任务  */ class Order {    &n...

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...