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

主站蜘蛛池模板: 狂野欧美性猛交xxxx巴西 | 一区二区三区免费在线 | 美女被性调教视频在线观看 | 最新91 | 韩国一级成a人片在线观看 韩国一级毛片 | 国产精品福利在线播放 | 自偷自偷自亚洲首页精品 | 国产免费小视频在线观看 | 国产精品亚洲片夜色在线 | 久久精品国产精品青草 | 在线观看色视频网站 | 中文字幕一级毛片视频 | 91视频成人 | 2021天天躁夜夜躁西西 | 一二三区在线视频 | 久久精品国内一区二区三区 | 精品乱人伦一区二区三区 | 婷婷丁香五月中文字幕 | 狠狠狠狠狠干 | 黄美女网站 | 一区二区三区免费视频播放器 | 久久国产乱子伦精品岳两 | 国产精品久久久久免费视频 | 中文字幕日本久久2019 | 国产一二三 | 微拍秒拍福利一区二区 | 综合精品视频 | 久久国产精品-久久精品 | 中文字幕一区二区精品区 | 色综合一区二区三区 | 欧美成人高清 | 欧美亚洲国产成人精品 | 岛国精品成人 | 91福利在线观看视频 | 国产欧美在线观看精品一区二区 | 国产好吊妞视频在线观看 | 深爱激情五月婷婷 | 99在线国产视频 | 久久亚洲日本不卡一区二区 | 国产91精品一区二区麻豆亚洲 | 久久精品视频网站 |