摘要:手冊中數(shù)據(jù)庫擴展一章有兩部分數(shù)據(jù)庫抽象層針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。首先,直接的想法是,應(yīng)該為不同的數(shù)據(jù)庫實現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫來使用。
PHP/MySQL是主流的應(yīng)用開發(fā)搭配方式,印象中PHP支持使用很多種數(shù)據(jù)庫,而且MySQL就有mysql、mysqli、pdo三種API可用。本文旨在從PHP數(shù)據(jù)庫訪問設(shè)計的思路為軸,簡單的捋清這些關(guān)系。
PHP手冊中《數(shù)據(jù)庫擴展》一章有兩部分:數(shù)據(jù)庫抽象層、針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。
首先,直接的想法是,PHP應(yīng)該為不同的數(shù)據(jù)庫實現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫API來使用DBMS。如下圖:
然后,考慮這個場景:當PHP應(yīng)用寫好后,環(huán)境數(shù)據(jù)庫不同時,就要用對應(yīng)的數(shù)據(jù)庫抽象層重寫項目所有數(shù)據(jù)庫相關(guān)代碼。所以能否把訪問抽象出來,用不同數(shù)據(jù)庫時,只要切換不同實現(xiàn)就ok了。如下圖:
最后,主流選用MySQL當然是既可以使用mysql、mysqli兩種數(shù)據(jù)庫抽象層,又可以使用PDO數(shù)據(jù)訪問抽象層(須安裝PDO_MYSQL擴展實現(xiàn)PDO接口)。如下圖:
當然任何一個數(shù)據(jù)庫抽象層,都要在PHP編譯時都要指定數(shù)據(jù)庫的客戶端庫以使用數(shù)據(jù)庫服務(wù)器。以MySQL為例,推薦用mysqlnd庫,配置項:
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql=mysqlnd
現(xiàn)在是不是清晰些了呢?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/17516.html
摘要:手冊中數(shù)據(jù)庫擴展一章有兩部分數(shù)據(jù)庫抽象層針對各數(shù)據(jù)庫系統(tǒng)對應(yīng)的擴展,已經(jīng)是足夠的說明了,要更深刻的理解可去研讀。首先,直接的想法是,應(yīng)該為不同的數(shù)據(jù)庫實現(xiàn)不同的數(shù)據(jù)庫抽象層,調(diào)用客戶端庫來使用。 PHP/MySQL是主流的應(yīng)用開發(fā)搭配方式,印象中PHP支持使用很多種數(shù)據(jù)庫,而且MySQL就有mysql、mysqli、pdo三種API可用。本文旨在從PHP數(shù)據(jù)庫訪問設(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,...
摘要:的毫秒級超時也有問題。。中超時實現(xiàn)一初級最簡單的超時實現(xiàn)秒級超時思路很簡單鏈接一個后端,然后設(shè)置為非阻塞模式,如果沒有連接上就一直循環(huán),判斷當前時間和超時時間之間的差異。實際處理這個調(diào)用的部件在完成后,通過狀態(tài)通知和回調(diào)來通知調(diào)用者。 概述 在PHP開發(fā)中工作里非常多使用到超時處理到超時的場合,我說幾個場景: 異步獲取數(shù)據(jù)如果某個后端數(shù)據(jù)源獲取不成功則跳過,不影響整個頁面展現(xiàn) 為了保...
閱讀 2128·2019-08-29 16:53
閱讀 2705·2019-08-29 16:07
閱讀 2047·2019-08-29 13:13
閱讀 3271·2019-08-26 13:57
閱讀 1336·2019-08-26 13:31
閱讀 2440·2019-08-26 13:22
閱讀 1227·2019-08-26 11:43
閱讀 2089·2019-08-23 17:14
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要