1. 概念
该设计模式的目的在于将各种截然不同的函数接口封装成统一的API。如在PHP中操作数据有mysql、mysqli、pdo三种,即使使用三种不同的数据库操作,我们可以使用适配器模式将其统一成一样的API,类似场景还有缓存适配器。
<?php
interface IDatabase {
public function conn($host, $user, $password, $dbname);
public function query($sql);
public function close();
}
<?php
class MySQL implements IDatabase {
protected $conn;
public function conn($host, $user, $password, $dbname)
{
$conn = mysql_connect($host, $user, $password);
mysql_select_db($dbname, $conn);
$this->conn = $conn;
}
public function query($sql)
{
return mysql_query($sql, $this->conn);
}
public function close()
{
mysql_close($this->conn);
}
}
<?php
class MySQLi implements IDatabase {
protected $conn;
public function conn($host, $user, $password, $dbname)
{
$conn = mysqli_connect($host, $user, $passwd, $dbname);
$this->conn = $conn;
}
public function query($sql)
{
return mysqli_query($sql, $this->conn);
}
public function close()
{
mysqli_close($this->conn);
}
}

208

被折叠的 条评论
为什么被折叠?



