一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美第一页草草影院浮力 | 野外一男一女一级毛片 | 视频一区 中文字幕 | 黄篇网站在线观看 | 久久有码中文字幕 | 色婷婷视频 | 每日更新国产精品视频 | 欧美99视频| 国产精品毛片一区二区三区 | 中文字幕一区二区三区永久 | 国产成人香蕉在线视频网站 | 国产理论视频 | 欧美在线视频在线观看 | 夜夜未满十八勿进的爽爽影院 | 日本高清不卡二区 | 亚洲欧洲免费视频 | 狠狠操影院 | 成人情趣视频无遮掩免费 | 色婷婷久| 国产自愉怕一区二区三区 | 污免费观看 | 久久精品中文字幕极品 | gogo人体大胆色妇 | 97色婷婷成人综合在线观看 | 九九精彩视频在线观看视频 | 亚洲一区二区三区中文字幕 | 国产一区二区在线视频播放 | 亚洲一区二区三区深夜天堂 | 精品福利视频第一 | 成人欧美视频在线观看 | 五月天综合久久 | 精品日本一区二区三区在线观看 | 国产高清91 | 国产精品免费入口视频 | 激情图片小说网 | 色老板影视 | 一区二区三区国产美女在线播放 | 四虎国产永久免费久久 | 欧美日韩亚洲另类 | 91免费福利视频 | 色yeye成人免费视频 |