国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP設(shè)計(jì)模式之適配器模式

2020-03-22 18:21:48
字體:
供稿:網(wǎng)友
  • 1.說明

    1.適配器模式: 可以將截然不同的函數(shù)接口封裝成統(tǒng)一的API
    2.實(shí)際應(yīng)用舉例,PHP的數(shù)據(jù)庫操作有mysql, mysqli, pdo3種,可以用適配器模式統(tǒng)一成一致。類似的場景還有cache適配器,就是將memcache,redis,file,apc等不同的緩存函數(shù)統(tǒng)一成一致的
    3.下面的例子可以幫助你對付各種數(shù)據(jù)庫鏈接功能,mysql mysqli, pdo隨便選,操作都抽象為統(tǒng)一的接口客戶端不需要修改一行數(shù)據(jù)庫鏈接方式

    2.創(chuàng)建一個(gè)接口
    interface IDatabase{    function connect($host, $user, $passwd, $dbname);    function query($sql);    function close();}

    3.Mysql封裝
    html' target='_blank'>class MySQL implements IDatabase{    protected $conn;    function connect($host, $user, $passwd, $dbname)    {        $conn = mysql_connect($host, $user, $passwd);        mysql_select_db($dbname, $conn);        $this->conn = $conn;    }    function query($sql)    {        $res = mysql_query($sql, $this->conn);        return $res;    }    function close()    {        mysql_close($this->conn);    }}

    4.MySqli封裝
    class MySQLi implements IDatabase{    protected $conn;    function connect($host, $user, $passwd, $dbname)    {        $conn = mysqli_connect($host, $user, $passwd, $dbname);        $this->conn = $conn;    }    function query($sql)    {        return mysqli_query($this->conn, $sql);    }    function close()    {        mysqli_close($this->conn);    }}

    5.PDO封裝
    class PDO implements IDatabase{    protected $conn;    function connect($host, $user, $passwd, $dbname)    {        $conn = new PDO('mysql:host=$host;dbname=$dbname', $user, $passwd);        $this->conn = $conn;    }    function query($sql)    {        return $this->conn->query($sql);    }    function close()    {        unset($this->conn);    }}

    6.實(shí)例調(diào)用,(統(tǒng)一接口調(diào)用)
    $db = new PDO();$db->connect('127.0.0.1', 'root', 'root', 'test');$db->query('show databases');$db->close();$db = MySQLi ();$db->connect('127.0.0.1', 'root', 'root', 'test');$db->query('show databases');$db->close();$db = MySQl PDO();$db->connect('127.0.0.1', 'root', 'root', 'test');$db->query('show databases');$db->close();

    PHP編程

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

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 陆良县| 万山特区| 彝良县| 乌恰县| 罗山县| 津市市| 双流县| 项城市| 定远县| 虹口区| 鄂托克旗| 苗栗市| 望城县| 固阳县| 尉氏县| 商水县| 石首市| 新源县| 天镇县| 商丘市| 石嘴山市| 南汇区| 东海县| 江陵县| 盘山县| 江源县| 元朗区| 专栏| 萨嘎县| 大埔县| 宝清县| 融水| 陈巴尔虎旗| 莱芜市| 伊宁市| 汽车| 昌宁县| 钟祥市| 崇礼县| 晋宁县| 黑河市|