整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打
/** * DAO (Data Access Objects) 數據訪問對象 * ------------------------------------- * ** 來自說明 ** * * 數據訪問對象設計模式描述了如何創建提供透明訪問任何數據源的對象 * * 目的是解決下列兩種特定的問題: * 1. 重復 * 2. 數據源抽象化 * 數據訪問對象模式提供數據庫抽象層 * 現在,應用程序的主要處理代碼不再考慮數據庫引擎或表關系 * 調用這種對象的公共方法會返回任何數據類型,不用考慮內在SQL所需的類型 * * ===================================== * ** 應用場景 ** * * 數據訪問 * * ------------------------------------- * * @version ${Id}$ * @author Shaowei Pu <54268491@qq.com> */
abstract class baseDao{ /** * [$_connection 連接對象] * @var [type] */ private $_connection; /** * [__construct 實例化數據庫連接] * @author Shaowei Pu* @CreateTime 2017-02-22T17:52:04+0800 */ public function __construct(){ try{ $this->_connection = new PDO("mysql:dbname=mysql;host=localhost","root","pushaowei"); $this->_connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){ die("error:".$e->getMessage()); } } /** * [feach description] * @author Shaowei Pu * @CreateTime 2017-02-22T18:01:48+0800 * @return [type] [description] */ public function fetch( $value , $key = ""){ // SQL START $sql = "SELECT * FROM ".$this->_tablename." WHERE ".$key." = "".$value."""; // 輸出 $dispose = $this->_connection->query($sql); return $dispose->fetch(PDO::FETCH_ASSOC); } } class selectHandle extends baseDao{ /** * [$_tablename 得到表名] * @var string */ protected $_tablename = "db"; /** * [getValue description] * @author Shaowei Pu * @CreateTime 2017-02-22T18:06:58+0800 * @param [type] $value [description] * @return [type] [description] */ public function getDbValue( $value ){ $result = parent::fetch( $value, "Host" ); return $result; } } $select = new selectHandle; var_dump($select->getDbValue("localhost")); /* +---------------------------------------------------------------------- | array (size=22) | "Host" => string "localhost" (length=9) | "Db" => string "sys" (length=3) | "User" => string "mysql.sys" (length=9) | "Select_priv" => string "N" (length=1) | "Insert_priv" => string "N" (length=1) | "Update_priv" => string "N" (length=1) | "Delete_priv" => string "N" (length=1) | "Create_priv" => string "N" (length=1) | "Drop_priv" => string "N" (length=1) | "Grant_priv" => string "N" (length=1) | "References_priv" => string "N" (length=1) | "Index_priv" => string "N" (length=1) | "Alter_priv" => string "N" (length=1) | "Create_tmp_table_priv" => string "N" (length=1) | "Lock_tables_priv" => string "N" (length=1) | "Create_view_priv" => string "N" (length=1) | "Show_view_priv" => string "N" (length=1) | "Create_routine_priv" => string "N" (length=1) | "Alter_routine_priv" => string "N" (length=1) | "Execute_priv" => string "N" (length=1) | "Event_priv" => string "N" (length=1) | "Trigger_priv" => string "Y" (length=1) +---------------------------------------------------------------------- */
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22412.html
整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打 /** * DAO (Data Access Objects) 數據訪問對象 * ------------------------------------- * ** 來自說明 ** * * 數據訪問對象設計模式描述了如何創建提供透明訪問任何...
整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打 /** * DAO (Data Access Objects) 數據訪問對象 * ------------------------------------- * ** 來自說明 ** * * 數據訪問對象設計模式描述了如何創建提供透明訪問任何...
摘要:的面向的異常遵從通用的異常層次結構。比如以前常用的框架,現在常用的框架包含許多項目,下面挑一些最常用的出來總結一下。狀態是流程中事件發生的地點,在流程中通過轉移的方式從一個狀態到另一個狀態,流程的當前狀況稱為流程數據。 如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產生,學起來給人一種凌亂的感覺,我就在這里總結一下,理順頭緒...
摘要:此的功能是從應用程序中隱藏在底層存儲機制中執行操作所涉及的所有復雜性。這正是模式試圖解決的問題。將模式與一起使用開發人員普遍認為的發布將模式的功能降級為零,因為該模式只是實體經理提供的另一層抽象和復雜性。在這種情況下,模式有其自己的位置。 案例概述 數據訪問對象(DAO)模式是一種結構模式,它允許我們使用抽象API將應用程序/業務層與持久層(通常是關系數據庫,但它可以是任何其他持久性機...
閱讀 1263·2021-11-23 09:51
閱讀 2638·2021-09-03 10:47
閱讀 2234·2019-08-30 15:53
閱讀 2414·2019-08-30 15:44
閱讀 1375·2019-08-30 15:44
閱讀 1194·2019-08-30 10:57
閱讀 1925·2019-08-29 12:25
閱讀 1088·2019-08-26 11:57