中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

PHP中數(shù)據(jù)庫(kù)單例模式的實(shí)現(xiàn)代碼分享

首先我們要知道明確單例模式這個(gè)概念,那么什么是單例模式呢?

單例模式顧名思義,就是只有一個(gè)實(shí)例。

作為對(duì)象的創(chuàng)建模式, 單例模式確保某一個(gè)類(lèi)只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,這個(gè)類(lèi)我們稱(chēng)之為單例類(lèi)。

單例模式的要點(diǎn)有三個(gè):

一是某個(gè)類(lèi)只能有一個(gè)實(shí)例;
二是它必須自行創(chuàng)建這個(gè)實(shí)例;
三是它必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。

下面我們討論下為什么要使用php單例模式?

多數(shù)人都是從單例模式的字面上的意思來(lái)理解它的用途, 認(rèn)為這是對(duì)系統(tǒng)資源的節(jié)省, 可以避免重復(fù)實(shí)例化, 是一種"計(jì)劃生育". 而php每次執(zhí)行完頁(yè)面都是會(huì)從內(nèi)存中清理掉所有的資源. 因而php中的單例實(shí)際每次運(yùn)行都是需要重新實(shí)例化的, 這樣就失去了單例重復(fù)實(shí)例化的意義了. 單單從這個(gè)方面來(lái)說(shuō), php的單例的確有點(diǎn)讓各位失望. 但是單例僅僅只有這個(gè)功能和應(yīng)用嗎? 答案是否定的,我們一起來(lái)看看。

1. php應(yīng)用主要在于數(shù)據(jù)庫(kù)應(yīng)用, 所以一個(gè)應(yīng)用中會(huì)存在大量的數(shù)據(jù)庫(kù)操作, 在使用面向?qū)ο蟮姆绞介_(kāi)發(fā)時(shí)(廢話), 如果使用單例模式, 則可以避免大量的new 操作消耗的資源。

2. 如果系統(tǒng)中需要有一個(gè)類(lèi)來(lái)全局控制某些配置信息, 那么使用單例模式可以很方便的實(shí)現(xiàn). 這個(gè)可以參看zend Framework的FrontController部分。

3. 在一次頁(yè)面請(qǐng)求中, 便于進(jìn)行調(diào)試, 因?yàn)樗械拇a(例如數(shù)據(jù)庫(kù)操作類(lèi)db)都集中在一個(gè)類(lèi)中, 我們可以在類(lèi)中設(shè)置鉤子, 輸出日志,從而避免到處var_dump, echo。

class db {  public static $cennct = null;  private function __construct(){return false;}  private function conn(){    $pdo = new PDO('mysql:host=localhost;dbname=dbname','root','');    $pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);        $pdo->query('set names utf8');                return $pdo;                    }  public static function getdb(){    if(self::$cennct == null )      self::$cennct = self::conn();       return true;  }  protected function fetch($sql,$param=array()){    $this->getdb();    $tmp = self::$cennct->prepare($sql);    $tmp->execute($param);    return $tmp->fetch(PDO::FETCH_ASSOC);  }  protected function fetchAll($sql,$param=array()){    $this->getdb();    $tmp = self::$cennct->prepare($sql);    $tmp->execute($param);    return $tmp->fetchAll(PDO::FETCH_ASSOC);       }  protected function execute($sql,$param=array()){    $this->getdb();     $tmp = self::$cennct->prepare($sql);    return $tmp->execute($param);  }}

以上為一個(gè)數(shù)據(jù)庫(kù)操作單例模式

php技術(shù)PHP中數(shù)據(jù)庫(kù)單例模式的實(shí)現(xiàn)代碼分享,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 9色网站 | 成人欧美一区二区三区在线观看 | 欧美a在线| 日本久久精品视频 | 国产美女视频一区 | 福利片在线观看 | 黄网站免费在线看 | 亚洲91av | 欧美色图综合网 | 国产一区二区三区免费视频 | 国产视频中文字幕 | 国产黄色网址在线观看 | 国产美女一区二区 | 在线第一页 | 草久久 | 伊人免费在线观看 | 中文字幕一区二区三区四区五区 | 亚洲免费毛片 | 午夜小视频免费观看 | 亚洲精品456 | 亚洲一区黄色 | 成人国产在线视频 | 久久久久久黄 | 91在线第一页| 爱草在线 | 一级一级一级毛片 | 久久久一区二区 | 国产精品久久一区二区三区 | 久久亚洲二区 | 色视频网站免费 | 亚洲国产第一页 | 一本色道精品久久一区二区三区 | 亚洲国产aⅴ精品一区二区 免费观看av | 国产精品福利在线 | 日本高清不卡视频 | 亚洲欧美激情四射 | 色婷婷亚洲国产女人的天堂 | 一区二区三区免费 | 国产精品国产三级国产aⅴ中文 | 国产一级免费视频 | 日韩欧美在线免费 |