摘要:大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打單例單元素模式實(shí)現(xiàn)來自說明通過提供對(duì)自身共享實(shí)例對(duì)訪問,單元素單例設(shè)計(jì)模式用于限制特定對(duì)象只能被創(chuàng)建一次。
整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打
/** * Singleton 單例(單元素)模式實(shí)現(xiàn) * ------------------------------------- * ** 來自說明 ** * * 通過提供對(duì)自身共享實(shí)例對(duì)訪問,單元素(單例)設(shè)計(jì)模式用于限制特定對(duì)象只能被創(chuàng)建一次。 * 此對(duì)象可能最多存儲(chǔ)自身的5個(gè)實(shí)例,如果出現(xiàn)第6個(gè)請(qǐng)求,那么不得不等待。 * 或者只是提供對(duì)先前創(chuàng)建的5個(gè)實(shí)例之一的引用在排隊(duì)請(qǐng)求中,這種體系結(jié)構(gòu)類型特別有用 * * ===================================== * ** 應(yīng)用場(chǎng)景 ** * * 最常用于數(shù)據(jù)庫(kù)連接對(duì)象,數(shù)據(jù)庫(kù)訪問對(duì)象可以負(fù)責(zé)創(chuàng)建一個(gè)與數(shù)據(jù)庫(kù)的實(shí)例化連接。 * 接下來,只要調(diào)用這個(gè)對(duì)象的特定方法,該對(duì)象就會(huì)使用已成功創(chuàng)建的連接。 * 從而減少服務(wù)器開銷 * ------------------------------------- * * @version ${Id}$ * @author Shaowei Pu*/
* @CreateTime 2017-02-08T11:20:19+0800 * @return [type] [description] */ private function __clone(){} /** * [__construct 不能new啦] * @author Shaowei Pu* @CreateTime 2017-02-08T11:18:09+0800 */ private function __construct(){ try{ $this->pdo =new PDO("mysql:dbname=數(shù)據(jù)庫(kù)名字;host=127.0.0.1,root,123456"); $this->pdo->exec("SET NAMES utf8");//設(shè)置通信編碼 $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(PDOException $e){ die("error:".$e->getMessage()); } } /** * [getinstance 單例開始] * @author Shaowei Pu * @CreateTime 2017-02-08T11:21:31+0800 * @return [type] [description] */ public static function getInstance(){ // 檢測(cè)其并不是本類實(shí)例 if( !self::$_instance instanceof self ){ self::$_instance = new self; } return self::$_instance; } /** * [select 簡(jiǎn)單查詢操作] * @author Shaowei Pu * @CreateTime 2017-02-08T12:11:06+0800 * @param [type] $dbname [description] * @param [type] $filed [description] * @param [type] $where [description] * @return [type] [description] */ public function select($dbname,$filed,$where) { $stmt = self::$_pdo ->prepare(" SELECT {$filed} FROM {$dbname} {$where}"); $stmt->execute(); return $stmt->fetchAll(PDO::FETCH_ASSOC); } } Singleton::getInstance();
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39457.html
摘要:大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打單例單元素模式實(shí)現(xiàn)來自說明通過提供對(duì)自身共享實(shí)例對(duì)訪問,單元素單例設(shè)計(jì)模式用于限制特定對(duì)象只能被創(chuàng)建一次。 整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打 /** * Singleton 單例(單元素)模式實(shí)現(xiàn) * -----...
摘要:?jiǎn)卫J接糜跒橐粋€(gè)類生成一個(gè)唯一的對(duì)象。作為對(duì)象的創(chuàng)建模式,單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,這個(gè)類稱為單例類。 單例模式(Singleton):用于為一個(gè)類生成一個(gè)唯一的對(duì)象。最常用的地方是數(shù)據(jù)庫(kù)連接。 使用單例模式生成一個(gè)對(duì)象后,該對(duì)象可以被其它眾多對(duì)象所使用。 作為對(duì)象的創(chuàng)建模式,單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系...
閱讀 1650·2021-11-16 11:44
閱讀 2393·2021-10-11 11:07
閱讀 4040·2021-10-09 09:41
閱讀 663·2021-09-22 15:52
閱讀 3187·2021-09-09 09:33
閱讀 2702·2019-08-30 15:55
閱讀 2284·2019-08-30 15:55
閱讀 837·2019-08-30 15:55