開發自己的框架 二 資料庫工具類的封裝

2021-07-22 08:20:29 字數 1592 閱讀 4037

為了讓框架的內容與資料分離,我們把常用的類封裝到乙個工具類中,當用到這些方法時,就呼叫這個封裝好的類,能夠使**的復用性得到很大的提高。

首先,封裝資料庫相關操作,為了使封裝規範化,我們建立乙個介面讓資料庫實現介面中的方法,資料庫使用pdo擴充套件訪問資料。

資料庫介面類 

i_dao.inte***ce.php

<?php

inte***ce i_dao

資料庫工具類中,物件只能通過靜態方法建立乙個例項(單例模式),不能通過轉殖和繼承建立物件,資料庫的連線資訊通過陣列傳遞到方法中,工具類中有查詢所有資料方法、查詢一條資料方法、獲得乙個字段值的方法、實現增刪改方法、

返回結果數量的方法等。

資料庫操作工具類

daopdo.class.php

<?php

class daopdo implements i_dao

//私有的轉殖方法

private function __clone()

//公共的靜態方法例項化單例物件

public static function getsingleton($options=array())

return self::$instance;

}//初始化伺服器的配置

private function initoptions($option)

//初始化pdo物件

private function initpdo()

//封裝pdostatement物件

public function query($sql="")

//查詢所有資料

public function getall($sql='')

$result = $pdo_statement -> fetchall(pdo::fetch_assoc);

return $result;

}//查詢一條記錄

public function getrow($sql='')

$result = $pdo_statement -> fetch(pdo::fetch_assoc);

return $result;

}//獲得乙個欄位的值

public function getone($sql='')

//返回查詢的字段的值,我們在執行sql語句之前就應該明確查詢的是哪個字段,這樣fetchcolumn就已經知道查詢的字段值

$result = $pdo_statement -> fetchcolumn();

return $result;

}//實現非查詢的方法

public function exec($sql='')

return $result;

}//查詢語句返回的結果數量

public function resultrows()

//返回上次執行插入語句返回的主鍵值

public function lastinsertid()

//資料轉義並引號包裹

public function escapedata($data='')

}

根據nestk庫開發自己的軟體

nestk是rgb demo中演示程式使用的核心庫。它旨在輕鬆整合到現有的基於cmake的軟體中,並快速訪問kinect功能。該庫建立在opencv和qt之上,用於圖形部分。它的一部分也取決於pcl。它包含或尋找所需的所有其他庫。特別地,包括libfreenect。它可以用作系統上安裝的經典外部庫,...

如何用node開發自己的cli工具

寫這個工具的靈感以及場景源於youtube的一次閒聊 原本我們寫部落格展示shell,例如 安裝運轉docker,一鍵部署指令碼,等一些終端操作,我們需要進行大量的截圖展示給使用者,為什麼不能更加直觀方便的生成乙個網頁呢?sudo npm install share shell gtw help 1...

ORM框架,自建資料庫工具類DBUtils

建立配置檔案 例如 jdbc connection settings driver com.mysql.jdbc.driver url jdbc mysql user root password 123456 connection pool settings pool.maxactive 10 po...