批改状态:合格
老师批语:看来记住了, 就差实战了
1.抽象类与抽象方法
abstract:在类/方法最前面加上,则叫抽象类/抽象方法2.接口
interface 接口名implements实现:class 类名 implements 接口名1.建立数据库配置文件:`config.php
<?php//主机地址define("DB_HOST","localhost");//数据库用户名define("DB_USER","root");//数据库密码define("DB_PASSWORD","root123");// 数据库型号define("DB_TYPE","mysql");// 数据库名称define("DB_NAME","my_user");//数据库编码define('DB_CHARSET', 'utf8');//数据库端口号define('DB_PORT', '3306');//定义PDO的DSN,数据源名,包括主机名,端口号和数据库名称。define('DSN', DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);`
2.演示文件:index.php
<?php//接口interface iDbset{// 抽象方法//新增public static function insert($db,$data);//查询public static function select($db,$opt=[]);//修改public static function update($db,$opt=[]);//删除public static function delete($db,$where);}//实现类使用抽象类来充当:中间类abstract class aDb implements iDbset{//初始化连接// 使用单例模式连接: 创建类的唯一实例,唯一对象protected static $db =null;// 抽象类充当接口实现类时, 不用必须实现接口中的抽象方法// 当实现类中的方法中有一些公共操作时,可以将这些操作放在中间的抽象类中实现它public static function connet($db,$username,$password){//判断是否连接数据库if(is_null(self::$db)){return self::$db = new PDO($db,$username,$password);}return self::$db;}}//实现类class DB extends aDb{// //新增public static function insert($db,$data){$sql =" INSERT `mu_user` SET `username`=?,`password`=?,`phone`=?";$stem = $db->prepare($sql);$stem ->bindParam(1,$data['username']);$stem ->bindParam(2,$data['password']);$stem ->bindParam(3,$data['phone']);// var_dump($data['table']);$stem->execute();if($stem->rowCount()){return "新增:".$stem->rowCount()."条";}else{// return "errorInfo :".$stem->errorInfo();return "新增失败";}}//查询public static function select($db,$opt=[]){$sql = "SELECT * FROM `mu_user` WHERE `id`<?";$stem = $db->prepare($sql);$id =10;$stem ->bindParam(1,$id);$stem->execute();if($stem->rowCount()){return $stem ->fetchAll (PDO::FETCH_ASSOC);}else{return "未查询到数据";}}//修改public static function update($db,$opt=[]){$sql =" UPDATE `mu_user` SET `username`=?,`phone`=? WHERE `id`=?";$stem = $db->prepare($sql);$stem ->bindParam(1,$opt['username']);$stem ->bindParam(2,$opt['phone']);$stem ->bindParam(3,$opt['id']);$stem->execute();if($stem->rowCount()){return "修改:".$stem->rowCount()."条";}else{// return "errorInfo :".$stem->errorInfo();return "修改失败";}}//删除public static function delete($db,$where){$sql =" DELETE FROM `mu_user` WHERE `id`=?";$stem = $db->prepare($sql);$stem ->bindParam(1,$where);$stem->execute();if($stem->rowCount()){return "删除:".$stem->rowCount()."条";}else{// return "errorInfo :".$stem->errorInfo();return "删除失败";}}}//客户端require "./config.php";//数据连接$db = DB::connet(DSN,DB_USER,DB_PASSWORD);//新增数据$data=['table'=>'my_user','username'=>'天性健','password'=>md5(654321),'phone'=>'7256868632'];echo DB::insert($db,$data);echo "<hr>";//查询foreach(DB::select($db) as $arr){echo "ID:".$arr['id'].",姓名:".$arr['username'].",电话:".$arr['phone']."<br>";}echo "<hr>";//编辑id$data=['id'=>18,'username'=>'大黄蜂','phone'=>'11111111'];echo DB::update($db,$data);echo "<hr>";//删除echo DB::delete($db,21);echo "<hr>";

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