PHP设计模式之适配器模式
生活随笔
收集整理的這篇文章主要介紹了
PHP设计模式之适配器模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.說明
1.適配器模式: 能夠將截然不同的函數接口封裝成統一的API
2.實際應用舉例,PHP的數據庫操作有mysql, mysqli, pdo3種。能夠用適配器模式統一成一致。相似的場景還有cache適配器,就是將memcache,redis,file,apc等不同的緩存函數統一成一致的
3.以下的樣例能夠幫助你對付各種數據庫鏈接功能,mysql mysqli, pdo隨便選,操作都抽象為統一的接口client不須要改動一行數據庫鏈接方式
2.創建一個接口
interface IDatabase {function connect($host, $user, $passwd, $dbname);function query($sql);function close(); }3.Mysql封裝
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.實例調用,(統一接口調用)
$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();轉載于:https://www.cnblogs.com/mengfanrong/p/5183819.html
總結
以上是生活随笔為你收集整理的PHP设计模式之适配器模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发——手机号,密码,邮箱,身份证
- 下一篇: HD1561The more, The