這篇文章主要講解了“怎么操作Thinkphp 框架擴展之?dāng)?shù)據(jù)庫驅(qū)動”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么操作Thinkphp 框架擴展之?dāng)?shù)據(jù)庫驅(qū)動”吧!
默認(rèn)的數(shù)據(jù)庫驅(qū)動位于Think\Db\Driver命名空間下面,驅(qū)動類必須繼承Think\Db類,每個數(shù)據(jù)庫驅(qū)動必須要實現(xiàn)的接口方法包括(具體參數(shù)可以參考現(xiàn)有的數(shù)據(jù)庫驅(qū)動類庫):
驅(qū)動方法 | 方法說明 |
---|---|
架構(gòu)方法 | __construct($config='') |
數(shù)據(jù)庫連接方法 | connect($config='',$linkNum=0,$force=false) |
釋放查詢方法 | free() |
查詢操作方法 | query($str) |
執(zhí)行操作方法 | execute($str) |
開啟事務(wù)方法 | startTrans() |
事務(wù)提交方法 | commit() |
事務(wù)回滾方法 | rollback() |
獲取查詢數(shù)據(jù)方法 | getAll() |
獲取字段信息方法 | getFields($tableName) |
獲取數(shù)據(jù)庫的表 | getTables($dbName='') |
關(guān)閉數(shù)據(jù)庫方法 | close() |
獲取錯誤信息方法 | error() |
SQL安全過濾方法 | escapeString($str) |
數(shù)據(jù)庫的CURD接口方法(通常這些方法無需重新定義)
方法 | 說明 |
---|---|
寫入 | insert($data,$options=array(),$replace=false) |
更新 | update($data,$options) |
刪除 | delete($options=array()) |
查詢 | select($options=array()) |
介于不同數(shù)據(jù)庫的查詢方法存在區(qū)別,所以經(jīng)常需要對查詢的語句進(jìn)行重新定義,這就需要修改針對查詢的selectSql屬性。該屬性定義了當(dāng)前數(shù)據(jù)庫驅(qū)動的查詢表達(dá)式,默認(rèn)的定義是:
'SELECT%DISTINCT% %FIELD% FROM %TABLE%%JOIN%%WHERE%%GROUP%%HAVING%%ORDER%%LIMIT% %UNION%'
驅(qū)動可以更改或者刪除個別查詢定義,或者更改某個替換字符串的解析方法,這些方法包括:
方法名 | 說明 | 對應(yīng) |
---|---|---|
parseTable | 數(shù)據(jù)庫表名解析 | %TABLE% |
parseWhere | 數(shù)據(jù)庫查詢條件解析 | %WHERE% |
parseLimit | 數(shù)據(jù)庫查詢Limit解析 | %LIMIT% |
parseJoin | 數(shù)據(jù)庫JOIN查詢解析 | %JOIN% |
parseOrder | 數(shù)據(jù)庫查詢排序解析 | %ORDER% |
parseGroup | 數(shù)據(jù)庫group查詢解析 | %GROUP% |
parseHaving | 數(shù)據(jù)庫having解析 | %HAVING% |
parseDistinct | 數(shù)據(jù)庫distinct解析 | %DISTINCT% |
parseUnion | 數(shù)據(jù)庫union解析 | %UNION% |
parseField | 數(shù)據(jù)庫字段解析 | %FIELD% |
驅(qū)動的其他方法根據(jù)自身驅(qū)動需要和特性進(jìn)行添加,例如,有些數(shù)據(jù)庫的特殊性,需要覆蓋父類Db類中的解析和過濾方法,包括:
方法名 | 說明 |
---|---|
parseKey | 數(shù)據(jù)庫字段名解析 |
parseValue | 數(shù)據(jù)庫字段值解析 |
parseSet | 數(shù)據(jù)庫set分析 |
parseLock | 數(shù)據(jù)庫鎖機制 |
定義了驅(qū)動擴展后,需要使用的時候,設(shè)置相應(yīng)的數(shù)據(jù)庫類型即可:
'DB_TYPE'=>'odbc', // 數(shù)據(jù)庫類型配置不區(qū)分大小寫
感謝各位的閱讀,以上就是“怎么操作Thinkphp 框架擴展之?dāng)?shù)據(jù)庫驅(qū)動”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么操作Thinkphp 框架擴展之?dāng)?shù)據(jù)庫驅(qū)動這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
新聞標(biāo)題:怎么操作Thinkphp框架擴展之?dāng)?shù)據(jù)庫驅(qū)動-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://www.chinadenli.net/article28/ccpjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站設(shè)計公司、面包屑導(dǎo)航、企業(yè)建站、服務(wù)器托管、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容