亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 32
粉絲 2
評(píng)論 0
訪問量 37118
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
通過接口演示簡單的增刪改查
簡行
原創(chuàng)
1094人瀏覽過

一.注意事項(xiàng)

1.抽象類與抽象方法

  • 關(guān)鍵字abstract:在類/方法最前面加上,則叫抽象類/抽象方法
  • 抽象類必須通過它的子類來調(diào)用抽象類中的方法
  • 抽象方法: 沒有實(shí)現(xiàn),只有聲明, 子類中必須實(shí)現(xiàn)它

2.接口

  • 定義一個(gè)接口:interface 接口名
  • 在接口中所有成員都是抽象的;
  • 接口成員的訪問控制必須是public;
  • 不允許有屬性,但允許有接口常量, 禁止重寫;
  • 接口還可以有構(gòu)造方法;
  • 接口通過關(guān)鍵字implements實(shí)現(xiàn):class 類名 implements 接口名

    二.通過接口應(yīng)用場景: 用抽象類來實(shí)現(xiàn)接口,演示簡單的增刪改查

1.建立數(shù)據(jù)庫配置文件:`config.php

  1. <?php
  2. //主機(jī)地址
  3. define("DB_HOST","localhost");
  4. //數(shù)據(jù)庫用戶名
  5. define("DB_USER","root");
  6. //數(shù)據(jù)庫密碼
  7. define("DB_PASSWORD","root123");
  8. // 數(shù)據(jù)庫型號(hào)
  9. define("DB_TYPE","mysql");
  10. // 數(shù)據(jù)庫名稱
  11. define("DB_NAME","my_user");
  12. //數(shù)據(jù)庫編碼
  13. define('DB_CHARSET', 'utf8');
  14. //數(shù)據(jù)庫端口號(hào)
  15. define('DB_PORT', '3306');
  16. //定義PDO的DSN,數(shù)據(jù)源名,包括主機(jī)名,端口號(hào)和數(shù)據(jù)庫名稱。
  17. define('DSN', DB_TYPE.":host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET);
  18. `

2.演示文件:index.php

  1. <?php
  2. //接口
  3. interface iDbset
  4. {
  5. // 抽象方法
  6. //新增
  7. public static function insert($db,$data);
  8. //查詢
  9. public static function select($db,$opt=[]);
  10. //修改
  11. public static function update($db,$opt=[]);
  12. //刪除
  13. public static function delete($db,$where);
  14. }
  15. //實(shí)現(xiàn)類使用抽象類來充當(dāng):中間類
  16. abstract class aDb implements iDbset
  17. {
  18. //初始化連接
  19. // 使用單例模式連接: 創(chuàng)建類的唯一實(shí)例,唯一對(duì)象
  20. protected static $db =null;
  21. // 抽象類充當(dāng)接口實(shí)現(xiàn)類時(shí), 不用必須實(shí)現(xiàn)接口中的抽象方法
  22. // 當(dāng)實(shí)現(xiàn)類中的方法中有一些公共操作時(shí),可以將這些操作放在中間的抽象類中實(shí)現(xiàn)它
  23. public static function connet($db,$username,$password)
  24. {
  25. //判斷是否連接數(shù)據(jù)庫
  26. if(is_null(self::$db)){
  27. return self::$db = new PDO($db,$username,$password);
  28. }
  29. return self::$db;
  30. }
  31. }
  32. //實(shí)現(xiàn)類
  33. class DB extends aDb
  34. {
  35. // //新增
  36. public static function insert($db,$data){
  37. $sql =" INSERT `mu_user` SET `username`=?,`password`=?,`phone`=?";
  38. $stem = $db->prepare($sql);
  39. $stem ->bindParam(1,$data['username']);
  40. $stem ->bindParam(2,$data['password']);
  41. $stem ->bindParam(3,$data['phone']);
  42. // var_dump($data['table']);
  43. $stem->execute();
  44. if($stem->rowCount()){
  45. return "新增:".$stem->rowCount()."條";
  46. }else{
  47. // return "errorInfo :".$stem->errorInfo();
  48. return "新增失敗";
  49. }
  50. }
  51. //查詢
  52. public static function select($db,$opt=[]){
  53. $sql = "SELECT * FROM `mu_user` WHERE `id`<?";
  54. $stem = $db->prepare($sql);
  55. $id =10;
  56. $stem ->bindParam(1,$id);
  57. $stem->execute();
  58. if($stem->rowCount()){
  59. return $stem ->fetchAll (PDO::FETCH_ASSOC);
  60. }else{
  61. return "未查詢到數(shù)據(jù)";
  62. }
  63. }
  64. //修改
  65. public static function update($db,$opt=[]){
  66. $sql =" UPDATE `mu_user` SET `username`=?,`phone`=? WHERE `id`=?";
  67. $stem = $db->prepare($sql);
  68. $stem ->bindParam(1,$opt['username']);
  69. $stem ->bindParam(2,$opt['phone']);
  70. $stem ->bindParam(3,$opt['id']);
  71. $stem->execute();
  72. if($stem->rowCount()){
  73. return "修改:".$stem->rowCount()."條";
  74. }else{
  75. // return "errorInfo :".$stem->errorInfo();
  76. return "修改失敗";
  77. }
  78. }
  79. //刪除
  80. public static function delete($db,$where){
  81. $sql =" DELETE FROM `mu_user` WHERE `id`=?";
  82. $stem = $db->prepare($sql);
  83. $stem ->bindParam(1,$where);
  84. $stem->execute();
  85. if($stem->rowCount()){
  86. return "刪除:".$stem->rowCount()."條";
  87. }else{
  88. // return "errorInfo :".$stem->errorInfo();
  89. return "刪除失敗";
  90. }
  91. }
  92. }
  93. //客戶端
  94. require "./config.php";
  95. //數(shù)據(jù)連接
  96. $db = DB::connet(DSN,DB_USER,DB_PASSWORD);
  97. //新增數(shù)據(jù)
  98. $data=[
  99. 'table'=>'my_user',
  100. 'username'=>'天性健',
  101. 'password'=>md5(654321),
  102. 'phone'=>'7256868632'
  103. ];
  104. echo DB::insert($db,$data);
  105. echo "<hr>";
  106. //查詢
  107. foreach(DB::select($db) as $arr){
  108. echo "ID:".$arr['id'].",姓名:".$arr['username'].",電話:".$arr['phone']."<br>";
  109. }
  110. echo "<hr>";
  111. //編輯id
  112. $data=[
  113. 'id'=>18,
  114. 'username'=>'大黃蜂',
  115. 'phone'=>'11111111'
  116. ];
  117. echo DB::update($db,$data);
  118. echo "<hr>";
  119. //刪除
  120. echo DB::delete($db,21);
  121. echo "<hr>";

批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語:看來記住了, 就差實(shí)戰(zhàn)了
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)