《php物件導向》 第10課 封裝DB類 總結

2021-09-26 13:48:12 字數 1959 閱讀 9863

前面幾節課,我們簡單的封裝了db類,目的是練習類的封裝。

我們封裝的db類,功能非常簡單,也要許多考慮不周之處,在實際專案中,還需要新增很多功能。

<?php

/** * 資料庫操作類,檔名:db.class.php

*/class db

// 設定資料庫連線字符集

mysqli_set_charset($conn, $coding);

$this->conn = $conn;

echo '連線資料庫成功';

}//析構方法:不會有任何引數

function __destruct()

/*** @param $table 資料表名

* @param $data 新增的資料,關聯陣列型別 格式為:['no'=>'1001','name'=>'張三',]

*/function add($table, $data)

$fields = $values = '';

//遍歷$data,構建字段列表和值列表

foreach ($data as $k => $v)

//去除末尾的逗號

$fields = rtrim($fields, ',');

$values = rtrim($values, ',');

//構建sql指令

$sql = "insert into ($fields) values ($values)";

//輸出sql指令,測試是否正確

// echo $sql;

//執行sql指令

$ret = mysqli_query($this->conn, $sql);

return $ret;

}/**

* 更新記錄

* @param $table 表名

* @param $data 資料, 資料型別:字串、關聯陣列

* @param $where 更新條件,資料型別:關聯陣列

*/function update($table, $data, $where = '1=1')

$values = '';

foreach ($data as $k => $v) ='',";

}$values = rtrim($values, ',');

$condition = '';

if (is_array($where)) ='' and";

}$condition = substr($condition, 0, -3);

} else

$sql = "update set where ";

$ret = mysqli_query($this->conn, $sql);

return $ret;

}/**

* 查詢記錄

* @param $table 表名

* @param array $where 查詢條件,可以是字串,也可以是陣列

* @param string $fields 查詢字段

* 返回二維陣列

*/function getall($table, $fields = "*", $where = '1=1')

='' and";

}$condition = substr($condition, 0, -3);

} else

$sql = "select from where $condition";

$ret = mysqli_query($this->conn, $sql);

$arr = ;

while ($row = mysqli_fetch_assoc($ret))

return $arr;

}}

上面的**,還差乙個刪除功能,請同學們自己封裝刪除方法del( )

$table : 資料表名

$where: 刪除的條件 

PHP物件導向 封裝

物件導向的三個基本概念 封裝 繼承和多型。封裝很好理解,拿現實生活中的電視 手機 電冰箱 電腦等等,都是由很多零件 電路等組成,我們不一定知道它們的工作原理和內部結構,也不需要知道,只要知道怎麼使用它們就可以了。物件導向世界,就是真實世界的對映和抽象。物件的封裝就是像組裝電腦 電視一樣將物件的屬性,...

php物件導向 封裝

oop三大特性 封裝 繼承 多型。封裝的目的 為了讓類更安全 封裝的做法 1.類裡面的成員變數做為private 2.使用成員方法來間接訪問成員變數 3.在該方法裡面加限制條件 注意 php類裡面不允許出現同名方法。構造方法 寫法特殊,執行時間特殊。class ren 魔術方法set functio...

《php物件導向》 第12課 靜態成員

在類中除了有普通的成員 普通的屬性和普通的方法 還有靜態的成員 靜態屬性和靜態方法 先看下面的 class book 第一次例項化物件 b1 new book b1 showme 第二次例項化物件 b2 new book b2 showme 第三次例項化物件 b3 new book b3 showm...