摘要:手冊中數(shù)據(jù)庫擴(kuò)展一章有兩部分?jǐn)?shù)據(jù)庫抽象層針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴(kuò)展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。首先,直接的想法是,應(yīng)該為不同的數(shù)據(jù)庫實(shí)現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫來使用。
PHP/MySQL是主流的應(yīng)用開發(fā)搭配方式,印象中PHP支持使用很多種數(shù)據(jù)庫,而且MySQL就有mysql、mysqli、pdo三種API可用。本文旨在從PHP數(shù)據(jù)庫訪問設(shè)計(jì)的思路為軸,簡單的捋清這些關(guān)系。
PHP手冊中《數(shù)據(jù)庫擴(kuò)展》一章有兩部分:數(shù)據(jù)庫抽象層、針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴(kuò)展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。
首先,直接的想法是,PHP應(yīng)該為不同的數(shù)據(jù)庫實(shí)現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫API來使用DBMS。如下圖:
然后,考慮這個(gè)場景:當(dāng)PHP應(yīng)用寫好后,環(huán)境數(shù)據(jù)庫不同時(shí),就要用對應(yīng)的數(shù)據(jù)庫抽象層重寫項(xiàng)目所有數(shù)據(jù)庫相關(guān)代碼。所以能否把訪問抽象出來,用不同數(shù)據(jù)庫時(shí),只要切換不同實(shí)現(xiàn)就ok了。如下圖:
最后,主流選用MySQL當(dāng)然是既可以使用mysql、mysqli兩種數(shù)據(jù)庫抽象層,又可以使用PDO數(shù)據(jù)訪問抽象層(須安裝PDO_MYSQL擴(kuò)展實(shí)現(xiàn)PDO接口)。如下圖:
當(dāng)然任何一個(gè)數(shù)據(jù)庫抽象層,都要在PHP編譯時(shí)都要指定數(shù)據(jù)庫的客戶端庫以使用數(shù)據(jù)庫服務(wù)器。以MySQL為例,推薦用mysqlnd庫,配置項(xiàng):
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd
現(xiàn)在是不是清晰些了呢?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30333.html
摘要:手冊中數(shù)據(jù)庫擴(kuò)展一章有兩部分?jǐn)?shù)據(jù)庫抽象層針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴(kuò)展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。首先,直接的想法是,應(yīng)該為不同的數(shù)據(jù)庫實(shí)現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫來使用。 PHP/MySQL是主流的應(yīng)用開發(fā)搭配方式,印象中PHP支持使用很多種數(shù)據(jù)庫,而且MySQL就有mysql、mysqli、pdo三種API可用。本文旨在從PHP數(shù)據(jù)庫訪問設(shè)計(jì)的思路為軸,簡單的...
摘要:具體參考基于擴(kuò)展實(shí)現(xiàn)真正的數(shù)據(jù)庫連接池方式三加上參考文檔參數(shù)化查詢?yōu)槭裁茨軌蚍乐棺⑷? pdo防sql注入原理 PdoTest.php class PdoTest() { protected $db; protected $user; protected $pass; public function __construct($user = root,...
摘要:的毫秒級超時(shí)也有問題。。中超時(shí)實(shí)現(xiàn)一初級最簡單的超時(shí)實(shí)現(xiàn)秒級超時(shí)思路很簡單鏈接一個(gè)后端,然后設(shè)置為非阻塞模式,如果沒有連接上就一直循環(huán),判斷當(dāng)前時(shí)間和超時(shí)時(shí)間之間的差異。實(shí)際處理這個(gè)調(diào)用的部件在完成后,通過狀態(tài)通知和回調(diào)來通知調(diào)用者。 概述 在PHP開發(fā)中工作里非常多使用到超時(shí)處理到超時(shí)的場合,我說幾個(gè)場景: 異步獲取數(shù)據(jù)如果某個(gè)后端數(shù)據(jù)源獲取不成功則跳過,不影響整個(gè)頁面展現(xiàn) 為了保...
閱讀 3237·2021-11-23 09:51
閱讀 1042·2021-08-05 09:58
閱讀 676·2019-08-29 16:05
閱讀 985·2019-08-28 18:17
閱讀 3039·2019-08-26 14:06
閱讀 2734·2019-08-26 12:20
閱讀 2171·2019-08-26 12:18
閱讀 3074·2019-08-26 11:56