婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法

PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法

熱門標(biāo)簽:九江外呼系統(tǒng) 抖音有個(gè)地圖標(biāo)注是什么意思 七魚外呼系統(tǒng)停用嗎 西區(qū)企業(yè)怎么做地圖標(biāo)注入駐 阿里云400電話申請(qǐng)加工單 地下城堡2圖九地圖標(biāo)注 保定crm外呼系統(tǒng)運(yùn)營(yíng)商 智能電話機(jī)器人排名前十名南京 海南人工外呼系統(tǒng)有效果嗎

本文實(shí)例講述了PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

數(shù)據(jù)庫test中數(shù)據(jù)表account內(nèi)容

單例模式的數(shù)據(jù)庫連接類

db.php

?php
//單例模式的數(shù)據(jù)庫連接
class DB {
  //存儲(chǔ)實(shí)例的靜態(tài)成員變量
  static public $_instance;
  //數(shù)據(jù)庫連接靜態(tài)變量
  static public $_connectSource;
  //連接數(shù)據(jù)庫配置,由于前幾天學(xué)習(xí)了PDO,這里就使用PDO
  private $_dbConfig = array(
    'host' => 'localhost',
    'user' = > 'root',
    'password' => '',
    'database' => 'test'
  );
  //禁止外部實(shí)例化
  private function __construct() {
  }
  //實(shí)例化
  public static function getInstance() {
    if(self::$_instance instanceof self) {
      return self::$_instance;
    }
    self::$_instance = new self();
    return self::$_instance;
  }
  //數(shù)據(jù)庫連接
  public function connect() {
    //如果不存在數(shù)據(jù)庫連接就創(chuàng)建一個(gè)
    if(!self::$_connectSource) {
      try {
        $dsn = 'mysql:host='.$this->_dbConfig['host'].';dbname='.$this->_dbConfig['database'];
        $username = $this->_dbConfig['user'];
        $password = $this->_dbConfig['password'];
        self::$_connectSource = new PDO($dsn, $username, $password);
      }catch(PDOException $e) {
        echo $e->getMessage();
      }
    }
    return self::$_connectSource;
  }
}
?>

PHP實(shí)現(xiàn)頁面靜態(tài)化的例子

其實(shí)原理很簡(jiǎn)單,這里用到了幾個(gè)函數(shù),ob_start()ob_get_contents()file_put_contents()ob_start()是開啟緩沖區(qū)的意思,ob_get_contents()是得到緩沖區(qū)內(nèi)容的意思,file_put_contents()是把內(nèi)容放到一個(gè)文件里的意思,如果不理解緩沖區(qū)的意思,可以自行百度一下,我理解的緩沖區(qū)就是,當(dāng)我們要在PHP中輸出一些數(shù)據(jù)顯示出來時(shí),會(huì)先經(jīng)過緩沖區(qū),而我們可以從緩沖區(qū)中得到這些內(nèi)容。所以實(shí)現(xiàn)純靜態(tài)頁面的方法就是,獲取緩沖區(qū)中的內(nèi)容放到一個(gè)靜態(tài)文件中,并在入口中根據(jù)需求設(shè)置訪問動(dòng)態(tài)文件還是靜態(tài)文件,這種方法一般用于數(shù)據(jù)不經(jīng)常變化的動(dòng)態(tài)頁面中。下面就來具體的實(shí)現(xiàn)這個(gè)功能。

static.php

?php
//1.使用剛才寫的數(shù)據(jù)庫連接類連接數(shù)據(jù)庫
//2.把獲取到的數(shù)據(jù)填充到模板文件中
//3.把頁面轉(zhuǎn)化為靜態(tài)文件
//如果我們本地有這個(gè)靜態(tài)文件并且這個(gè)文件生成的時(shí)間小于5分鐘那么就去訪問這個(gè)靜態(tài)文件,filemtime()用來獲取文件的最后修改時(shí)間
if(is_file('./static.shtml')  (time() - filemtime('./static.shtml'))  300) {
  //這里很簡(jiǎn)單,直接把靜態(tài)文件拿過來
  require_once('./static.shtml');
}else {
//如果不存在這個(gè)靜態(tài)文件,或者這個(gè)靜態(tài)文件的最后修改時(shí)間距離現(xiàn)在已經(jīng)超過了5分鐘,那么就訪問動(dòng)態(tài)獲取數(shù)據(jù)的模板,然后更新static.shtml文件的內(nèi)容
  //連接數(shù)據(jù)庫
  header('Content-Type:text/html;charset=utf-8');
  require_once('./db.php');
  $connect = DB::getInstance()->connect();
  //執(zhí)行查詢操作
  $sql = 'select * from account';
  $res = $connect->query($sql);
  //開啟緩沖區(qū)
  ob_start();
  //ob_get_clean()這個(gè)函數(shù)可以獲取緩沖區(qū)的內(nèi)容并清空,一會(huì)我會(huì)測(cè)試一下ob_get_clean()和ob_get_contents()的
  require_once('./static_show.php');
  //把緩沖區(qū)的內(nèi)容寫入到靜態(tài)文件
  file_put_contents('./static.shtml', ob_get_contents());
}
?>

動(dòng)態(tài)展示模板文件static_show.php

?php
  foreach($res as $row) {
    echo '名字:'.$row['name'].'br/>';
    echo '錢包:'.$row['money'].'br/>';
    echo 'hr/>';
  }
?>

當(dāng)我們?cè)L問static.php的時(shí)候,因?yàn)闆]有static.shtml,所以會(huì)先執(zhí)行else的操作,展示在static_show.php并生成static.shtml文件

如果這時(shí)候我把數(shù)據(jù)庫修改了,zjp的money改為800,然后再訪問static.php會(huì)展示什么樣的內(nèi)容呢,沒錯(cuò),zjp的錢包還是600,為什么呢,因?yàn)樗鼒?zhí)行了if中的內(nèi)容,直接顯示了static.shtml,我們可以看一下static.shtml是什么樣的:

如果5分鐘過后再訪問staitc.php呢,會(huì)顯示什么呢,沒錯(cuò)!zjp的錢包就變成800了,并且static.shtml的內(nèi)容會(huì)更新為zjp的錢包是800。

測(cè)試ob_get_clean()和ob_get_contents()

測(cè)試方法很簡(jiǎn)單:

?php
$test = 'Hello World!';
//開啟緩沖區(qū)
ob_start();
//測(cè)試ob_get_contents()
echo $test;
echo ob_get_contents();
//輸出結(jié)果:Hello World!Hello World!
//測(cè)試ob_get_clean()
echo $test;
echo ob_get_clean();
//輸出結(jié)果:Hello World!
echo $test;
ob_get_clean();
//輸出結(jié)果:
?>

這樣就可以很清楚的看出來了,當(dāng)我們使用了ob_get_clean()的時(shí)候,輸出語句并不會(huì)輸出任何值,因?yàn)?code>ob_get_clean()會(huì)獲取緩沖區(qū)中的內(nèi)容并將緩沖區(qū)清空。所以當(dāng)我們echo test的時(shí)候并沒有得到test的時(shí)候并沒有得到test的值,echo ob_get_clean()的時(shí)候卻能夠獲取到值。而當(dāng)我們使用ob_get_contents()的時(shí)候緩沖區(qū)中的內(nèi)容并沒有被清空。

實(shí)際上,ob_get_clean()函數(shù)相當(dāng)于執(zhí)行了,ob_get_contents()ob_end_clean()

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP實(shí)現(xiàn)HTML頁面靜態(tài)化的方法
  • PHP實(shí)現(xiàn)頁面靜態(tài)化的超簡(jiǎn)單方法
  • ThinkPHP 3.2.3實(shí)現(xiàn)頁面靜態(tài)化功能的方法詳解
  • 使用ob系列函數(shù)實(shí)現(xiàn)PHP網(wǎng)站頁面靜態(tài)化
  • PHP 實(shí)現(xiàn)頁面靜態(tài)化的幾種方法
  • 詳解php實(shí)現(xiàn)頁面靜態(tài)化原理
  • 實(shí)例講解PHP頁面靜態(tài)化
  • 利用php的ob緩存機(jī)制實(shí)現(xiàn)頁面靜態(tài)化方法
  • php實(shí)現(xiàn)頁面純靜態(tài)的實(shí)例代碼
  • PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)
  • 基于php偽靜態(tài)的實(shí)現(xiàn)詳細(xì)介紹
  • PHP頁面靜態(tài)化——純靜態(tài)與偽靜態(tài)用法詳解

標(biāo)簽:遼陽 甘肅 梅河口 昭通 涼山 韶關(guān) 十堰 九江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法》,本文關(guān)鍵詞  PHP,單例,模式,數(shù)據(jù)庫,連接,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP單例模式數(shù)據(jù)庫連接類與頁面靜態(tài)化實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本精品一区二区三区高清| 热久久国产精品| 成人免费观看av| 国产精品久久一卡二卡| 在线观看网站黄不卡| 天堂在线亚洲视频| 日韩欧美在线影院| 国产91精品一区二区| 亚洲伦理在线免费看| 欧美性xxxxxx少妇| 激情综合五月天| 亚洲色图20p| 日韩一区二区免费视频| 国产精品一区久久久久| 亚洲视频在线一区| 欧美一区二区久久| 99九九99九九九视频精品| 亚欧色一区w666天堂| 久久精品免视看| 欧美三级韩国三级日本一级| 极品尤物av久久免费看| 亚洲人123区| 欧美精品一区二区蜜臀亚洲| 91麻豆免费视频| 精品一区二区三区欧美| 亚洲色图丝袜美腿| 精品国产免费一区二区三区香蕉| 91无套直看片红桃| 久久国产精品第一页| 曰韩精品一区二区| 精品国产免费一区二区三区四区| 色94色欧美sute亚洲线路一ni| 久久福利资源站| 亚洲男人的天堂在线观看| 精品国产乱码久久久久久牛牛| 91黄色免费版| 成人黄色电影在线| 久热成人在线视频| 亚洲一区二区欧美日韩| 国产日产精品1区| 欧美一区二区福利在线| 91豆麻精品91久久久久久| 丁香天五香天堂综合| 久久精品国产秦先生| 亚洲高清不卡在线观看| 国产精品成人网| 久久综合狠狠综合| 日韩三级高清在线| 欧美日韩国产免费| 欧洲一区二区三区免费视频| 成人av资源在线观看| 久久成人久久爱| 奇米色一区二区| 亚洲一二三级电影| 亚洲一区在线观看视频| 亚洲同性gay激情无套| 欧美激情一区二区在线| 国产丝袜美腿一区二区三区| 精品国产一区二区三区久久影院| 在线综合亚洲欧美在线视频| 欧美中文字幕一区| 色综合久久久网| 99re亚洲国产精品| www.亚洲人| www.日韩精品| 北条麻妃一区二区三区| 99国产麻豆精品| 日本乱人伦aⅴ精品| 色哟哟欧美精品| 色综合一个色综合| 在线亚洲+欧美+日本专区| 91麻豆福利精品推荐| 色婷婷综合久久久久中文| 在线影视一区二区三区| 欧美在线观看视频一区二区| 欧美日韩精品一区二区三区四区| 色视频一区二区| 欧美三级在线看| 欧美一区二区三区思思人| 日韩亚洲欧美高清| 欧美v日韩v国产v| 久久精品亚洲精品国产欧美| 欧美激情一区二区三区全黄| 18成人在线视频| 夜夜精品浪潮av一区二区三区| 亚洲国产精品久久人人爱蜜臀 | 免费在线观看精品| 国产在线视视频有精品| 国产成人精品免费视频网站| 成人动漫一区二区三区| 欧洲人成人精品| 欧美一级视频精品观看| 国产视频一区二区在线观看| 中文字幕在线视频一区| 香蕉乱码成人久久天堂爱免费| 青青国产91久久久久久| 国产精品一区二区不卡| 91免费版在线| 日韩欧美国产wwwww| 欧美国产日本韩| 亚洲二区在线观看| 国产一区视频网站| 色呦呦一区二区三区| 欧美一区二区在线免费观看| 国产精品天干天干在线综合| 亚洲一区在线播放| 国产成人午夜99999| 日本黄色一区二区| 久久久天堂av| 亚洲一区二区精品久久av| 韩国一区二区三区| 一本一道综合狠狠老| 精品国产免费人成在线观看| 亚洲欧美一区二区三区久本道91 | 国产麻豆精品久久一二三| 91丝袜美腿高跟国产极品老师 | 国产亲近乱来精品视频| 亚洲综合丁香婷婷六月香| 国产一区二区三区视频在线播放| 欧洲视频一区二区| 亚洲国产成人在线| 久久99精品一区二区三区三区| 99久久精品免费精品国产| 精品久久久三级丝袜| 午夜视频一区在线观看| 99久久国产综合色|国产精品| 欧美不卡视频一区| 亚洲成av人片一区二区梦乃| av在线不卡观看免费观看| 精品嫩草影院久久| 舔着乳尖日韩一区| 在线观看亚洲a| 成人欧美一区二区三区1314| 国内精品久久久久影院色| 69堂国产成人免费视频| 一区二区三区 在线观看视频| 国产精品中文字幕日韩精品 | 国产盗摄一区二区| 日韩亚洲欧美在线| 亚洲1区2区3区视频| 一本色道亚洲精品aⅴ| 久久精品人人爽人人爽| 精品在线一区二区三区| 制服丝袜亚洲色图| 调教+趴+乳夹+国产+精品| 欧美综合久久久| 一区二区三区精品视频在线| 菠萝蜜视频在线观看一区| 国产亚洲精品中文字幕| 国产综合色在线视频区| 欧美电视剧在线观看完整版| 日韩不卡手机在线v区| 欧美日韩一区二区在线观看| 尤物在线观看一区| 91久久国产综合久久| 亚洲美女一区二区三区| 日本道精品一区二区三区| 亚洲美女免费视频| 在线观看欧美精品| 午夜久久电影网| 884aa四虎影成人精品一区| 日韩精品国产欧美| 4hu四虎永久在线影院成人| 亚洲mv大片欧洲mv大片精品| 欧美日韩大陆在线| 日韩国产精品91| 91精品国产高清一区二区三区| 视频一区视频二区中文字幕| 欧美一区二区精品在线| 久久激情综合网| 国产亚洲综合性久久久影院| 大胆欧美人体老妇| 亚洲男人天堂av网| 欧美精品123区| 精品在线观看视频| 中文文精品字幕一区二区| 99re在线视频这里只有精品| 亚洲曰韩产成在线| 欧美一区二区三区免费视频| 国产剧情在线观看一区二区| 中文一区二区完整视频在线观看| 99国产精品久久久久久久久久久 | 九九视频精品免费| 国产午夜亚洲精品羞羞网站| 97久久人人超碰| 石原莉奈在线亚洲二区| 久久久.com| 欧美亚洲国产怡红院影院| 久久精品二区亚洲w码| 国产精品久久久久久久久晋中 | 欧美精选一区二区| 激情综合色丁香一区二区| 国产精品成人网| 欧美丰满嫩嫩电影| 国产成人免费在线观看不卡| 一区二区三区免费在线观看| 欧美精品一区二区三区很污很色的| aaa亚洲精品一二三区| 日韩电影网1区2区| 中文字幕不卡一区|