5.适配器模式
2016-02-28 22:37
441 查看
IDatabase.php
<?php namespace IMooc; interface IDatabase { public function connect($host,$user,$password,$dbname); public function query($sql); public function close(); }
MySQL.php
<?php namespace IMooc\Database; use IMooc\IDatabase; class MySQL implements IDatabase { protected $conn; public function connect($host,$user,$password,$dbname) { $this->conn = mysql_connect($host,$user,$password); mysql_select_db($dbname); } public function query($sql) { $res = mysql_query($sql,$this->conn); return $res; } public function close() { $this->close($this->conn); } }
MySQLi.php
<?php namespace IMooc\Database; use IMooc\IDatabase; class MySQLi implements IDatabase { protected $conn; public function connect($host,$user,$password,$dbname) { $conn = mysqli_connect($host,$user,$password,$dbname); $this->conn = $conn; } public function query($sql) { return mysqli_query($this->conn,$sql); } public function close() { mysqli_close($this->conn); } }
POD.php
<?php namespace IMooc\Database; use IMooc\IDatabase; class PDO implements IDatabase { protected $conn; public function connect($host,$user,$password,$dbname) { $this->conn = new \PDO("mysql:host=$host;dbname=$dbname",$user,$password); } public function query($sql) { return $this->conn->query($sql); } public function close() { unset($this->conn); } }
index.php
<?php define('BASEDIR',__DIR__); include BASEDIR . '/IMooc/Loader.php'; spl_autoload_register('\\IMooc\\Loader::autoload'); /*$db=IMooc\Factory::createDatabase(); $db = \IMooc\Register::get('db1'); var_dump(get_class($db));*/ // MySQL 实现 /*$db = new IMooc\Database\MySQL(); $db->connect('localhost','root','123456','test'); $res = $db->query('select * from test;'); while($row = mysql_fetch_row($res)){ $rows[] = $row; } var_dump($rows);*/ // MySQLi 实现 /*$db = new IMooc\Database\MySQLi(); $db->connect('localhost','root','123456','test'); $res = $db->query('select * from test;'); while($row = mysqli_fetch_row($res)){ $rows[] = $row; } var_dump($rows);*/ // PDO 实现 $db = new IMooc\Database\PDO(); $db->connect('localhost','root','123456','test'); $res = $db->query('select * from test;'); while($row = mysqli_fetch_row($res)){ $rows[] = $row; } var_dump($rows);
相关文章推荐
- 熊猫TV 弹幕助手 (开源 、 Java)
- 2016week1
- 软件工程——结合软考题
- NYOJ 38 布线问题
- NOJ排版题(1)2016.2.28
- android studio怎么生成HttpClient
- Java 中的引用
- 25.最小生成树(kruskal算法)
- 灰度值
- 25.最小生成树(kruskal算法)
- 将自己的域名重定向到某网站
- Linux 压缩命令
- SEO基础_审计已有网站_要审计的元素
- Androd自定义控件(一)概述
- ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践
- 数据绑定ds.ReadXml(stream);
- Android中如何实现文件下载
- uva10700- Camel trading
- Lowest Common Ancestor
- zookeeper初探(一)