《PHP實例:實現PHP框架系列文章(6)mysql數據庫方法》要點:
本文介紹了PHP實例:實現PHP框架系列文章(6)mysql數據庫方法,希望對您有用。如果有疑問,可以聯系我們。
實現一個mysql數據庫封裝需要考慮的問題
PHP應用
1.使用方便性
PHP應用
采用直接sql語句操作方式.只要會寫sql語句,那么將沒有其他學習成本.
PHP應用
uctphp框架提供的dba輔助封裝類,用會之后將愛不釋手.
PHP應用
使用前需要顯示初始化并連接到數據庫嗎,當然不需要.
PHP應用
直到執行第一條sql語句之前,都不會去連接數據庫,甚至不會new一個db對象.
PHP應用
dba將會在合適的時機去連接數據庫并執行初始化字符編碼操作.
PHP應用
查詢語句.不需要new一個查詢構造器也不提供鏈式操作方式,那樣復雜且低效.
PHP應用
dba提供了以下的查詢輔助函數.
PHP應用
//讀一個值 Dba::readOne($sql); //讀一行 Dba::readRowAssoc($sql); //讀所有行 Dba::readAllAssoc($sql); //讀所有行的第一列 Dba::readAllOne($sql); //在實際業務場景中,經常會有分頁讀取部分數據的情況. //只要一個函數即可返回指定頁碼的數據內容和數據總條數 Dba::readCountAndLimit($sql, $page, $limit);
ps:以上部分函數可以提供一個map函數對返回數組的每一行進行加工處理.
PHP應用
寫語句.為什么要區分read和write呢,顯然可以擴展做到控制讀寫分離,雙寫等功能.
PHP應用
在有各種云數據庫和數據庫中間件的今天,在數據庫層實現是更好的選擇.PHP應用
Dba::write($sql); /* 直接插入或更新kv形式的array數組 會自動對value進行轉義,也支持array類型的值. 如果自己寫sql語句要注意使用addslashes或mysql_real_escape_string來保證平安 */ Dba::insert($table, $insert); Dba::update($table, $update, $where); /* 對批量插入數據有更高的效率 當然過多的行數應該用array_chunk來分批插入. */ Dba::insertS($table, $inserts);
2. 事務
PHP應用
使用pdo支持事務
PHP應用
Dba::beginTransaction(); Dba::commit(); Dba::rollBack();
3. 長時間運行
PHP應用
在一些需要長時間運行的場景如swoole服務,后臺worker等,可能會出現數據庫連接超時的情況.
PHP應用
當發現數據庫連接超時,dba將會自動嘗試重連.
PHP應用
以上內容是小編給大家介紹的PHP框架系列文章(6)mysql數據庫辦法,希望對大家有所幫助!PHP應用
歡迎參與《PHP實例:實現PHP框架系列文章(6)mysql數據庫方法》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7476.html