1 适配器模式的应用场景

将一个类的接口转成我们希望的另外一个接口,使得原本接口不兼容不能在一起工作的类可以在一起工作。

如:现实生活中的变压器,可以将不同电压输出的电器适配到 220v的电源插座。

2适配器模式在数据库操作中的应用

数据库的操作 有 mysqli pdo mysql

案例:
(1)IDb.class.php
<?php

namespace Scc;

interface Idb
{

function connect($host,$user,$pwd,$dbname);

function query($sql);

function close();

}

(2)Mysqli.class.php

<?php

namespace SccDb;

use SccIdb;

class Mysqli implements Idb
{

protected $conn;
public function connect($host,$user,$pwd,$dbname)
{
    $this->conn = mysqli_connect($host,$user,$pwd,$dbname);
}

function query($sql)
{
    $res = mysqli_query($this->conn,$sql);
    return $res;
}

function close()
{
    mysqli_close($this->conn);
}

}

(3)PDO.class.php

<?php

namespace SccDb;

use Scc;

class PDO implements Idb
{

protected $conn;
public function connect($host,$user,$pwd,$dbname)
{
        $this->conn = new PDO("mysql:host=$host;dbname=$dbname",$user,$pwd);
}

public function query($sql)
{
    $res = $this->conn->query($sql);
    return $res;
}

public function close()
{
        unset($this->conn);
}

}

这样我们就可以将 mysqli 和 PDO 操作数据库的方法兼容。


hlcc
106 声望9 粉丝

放养程序员