整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打
/** * DAO (Data Access Objects) 數(shù)據(jù)訪問(wèn)對(duì)象 * ------------------------------------- * ** 來(lái)自說(shuō)明 ** * * 數(shù)據(jù)訪問(wèn)對(duì)象設(shè)計(jì)模式描述了如何創(chuàng)建提供透明訪問(wèn)任何數(shù)據(jù)源的對(duì)象 * * 目的是解決下列兩種特定的問(wèn)題: * 1. 重復(fù) * 2. 數(shù)據(jù)源抽象化 * 數(shù)據(jù)訪問(wèn)對(duì)象模式提供數(shù)據(jù)庫(kù)抽象層 * 現(xiàn)在,應(yīng)用程序的主要處理代碼不再考慮數(shù)據(jù)庫(kù)引擎或表關(guān)系 * 調(diào)用這種對(duì)象的公共方法會(huì)返回任何數(shù)據(jù)類型,不用考慮內(nèi)在SQL所需的類型 * * ===================================== * ** 應(yīng)用場(chǎng)景 ** * * 數(shù)據(jù)訪問(wèn) * * ------------------------------------- * * @version ${Id}$ * @author Shaowei Pu <54268491@qq.com> */
abstract class baseDao{ /** * [$_connection 連接對(duì)象] * @var [type] */ private $_connection; /** * [__construct 實(shí)例化數(shù)據(jù)庫(kù)連接] * @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) +---------------------------------------------------------------------- */
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/22412.html
整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打 /** * DAO (Data Access Objects) 數(shù)據(jù)訪問(wèn)對(duì)象 * ------------------------------------- * ** 來(lái)自說(shuō)明 ** * * 數(shù)據(jù)訪問(wèn)對(duì)象設(shè)計(jì)模式描述了如何創(chuàng)建提供透明訪問(wèn)任何...
整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打 /** * DAO (Data Access Objects) 數(shù)據(jù)訪問(wèn)對(duì)象 * ------------------------------------- * ** 來(lái)自說(shuō)明 ** * * 數(shù)據(jù)訪問(wèn)對(duì)象設(shè)計(jì)模式描述了如何創(chuàng)建提供透明訪問(wèn)任何...
摘要:的面向的異常遵從通用的異常層次結(jié)構(gòu)。比如以前常用的框架,現(xiàn)在常用的框架包含許多項(xiàng)目,下面挑一些最常用的出來(lái)總結(jié)一下。狀態(tài)是流程中事件發(fā)生的地點(diǎn),在流程中通過(guò)轉(zhuǎn)移的方式從一個(gè)狀態(tài)到另一個(gè)狀態(tài),流程的當(dāng)前狀況稱為流程數(shù)據(jù)。 如今做Java尤其是web幾乎是避免不了和Spring打交道了,但是Spring是這樣的大而全,新鮮名詞不斷產(chǎn)生,學(xué)起來(lái)給人一種凌亂的感覺(jué),我就在這里總結(jié)一下,理順頭緒...
摘要:此的功能是從應(yīng)用程序中隱藏在底層存儲(chǔ)機(jī)制中執(zhí)行操作所涉及的所有復(fù)雜性。這正是模式試圖解決的問(wèn)題。將模式與一起使用開發(fā)人員普遍認(rèn)為的發(fā)布將模式的功能降級(jí)為零,因?yàn)樵撃J街皇菍?shí)體經(jīng)理提供的另一層抽象和復(fù)雜性。在這種情況下,模式有其自己的位置。 案例概述 數(shù)據(jù)訪問(wèn)對(duì)象(DAO)模式是一種結(jié)構(gòu)模式,它允許我們使用抽象API將應(yīng)用程序/業(yè)務(wù)層與持久層(通常是關(guān)系數(shù)據(jù)庫(kù),但它可以是任何其他持久性機(jī)...
閱讀 1270·2021-11-23 09:51
閱讀 2659·2021-09-03 10:47
閱讀 2243·2019-08-30 15:53
閱讀 2426·2019-08-30 15:44
閱讀 1379·2019-08-30 15:44
閱讀 1204·2019-08-30 10:57
閱讀 1932·2019-08-29 12:25
閱讀 1096·2019-08-26 11:57