?php
/***
* @desc 工廠模式
* ***/
interface DB{
/*
* @desc 接口類不體現(xiàn)具體實現(xiàn),只是為了規(guī)范一套規(guī)則
* **/
public function conn();
public function add();
public function delete();
public function update();
public function select();
public function getLastSql();
}
/**
* @desc 創(chuàng)建mysqlDb類
* 接口是用來被實現(xiàn)的,并且每一個方法都必須要被實現(xiàn)
* **/
class mysqlDb implements DB{
public function conn(){
echo "恭喜您,mysql數據庫連接成功";
}
public function add(){
}
public function delete(){
}
public function update(){
}
public function select(){
}
public function getLastSql(){
}
}
/**
* @desc 創(chuàng)建sqlServerDb 類
* **/
class sqlServerDb implements DB{
public function conn(){
echo "恭喜您,sqlServer數據庫連接成功";
}
public function add(){
}
public function delete(){
}
public function update(){
}
public function select(){
}
public function getLastSql(){
}
}
/**
* @desc 創(chuàng)建一個數據庫工程類,用來生產對象
* **/
class DbFactory{
static $db = null;
public static function getDb($type){
switch($type){
case 'mysql':
self::$db = new mysqlDb();
break;
case 'sqlServer':
self::$db = new sqlServerDb();
break;
}
return self::$db;
}
}
//測試使用mysql來連接數據庫測試工程模式是否成功
$factory = new DbFactory();
$db = $factory->getDb('mysql');
$db->conn();