phpアダプタ設計モードの理解と応用
1アダプタモードの適用シーン
例えば、現実生活の変圧器は、異なる電圧出力の電気製品を220 vの電源コンセントに適している.
2データベース操作におけるアダプタモードの応用
データベースの操作はmysqli pdo mysqlがあります
ケース:(1)IDb.class.php
namespace Scc;
interface Idb{
}
(2)Mysqli.class.php
namespace SccDb;
use SccIdb;
class Mysqli implements Idb{
}
(3)PDO.class.php
namespace SccDb;
use Scc;
class PDO implements Idb{
}
これによりmysqliとPDOがデータベースを操作する方法を互換化することができます.
, 。
例えば、現実生活の変圧器は、異なる電圧出力の電気製品を220 vの電源コンセントに適している.
2データベース操作におけるアダプタモードの応用
データベースの操作はmysqli pdo mysqlがあります
ケース:(1)IDb.class.php
namespace Scc;
interface Idb{
function connect($host,$user,$pwd,$dbname);
function query($sql);
function close();
}
(2)Mysqli.class.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
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がデータベースを操作する方法を互換化することができます.