<?php
//工厂模式
interface Int_DB {//接口,制定规范(自己理解)
public function fetchAll($sql);
}
//分别实现Int_DB接口
class MySQLDB implements Int_DB {
public function fetchAll($sql){
}
}
class SQLDB implements Int_DB {
public function fetchAll($sql){
}
}
//假设读取的配置项为mysql
$config['db_type'] = 'mysql';
//工厂类,负责实例化不同的类,工厂一般为一系列相关的对象集合
class DBFactory {
public function factory() {
if($GLOBALS['config']['db_type'] == 'mysql') {
return new MySQLDB();
} elseif ($GLOBALS['config']['db_type'] == 'sqlserver') {
return new SQLDB();
}
}
}
//使用工厂
$db = new DBFactory;
$db->factory();
$db->fetchAll($sql);
//工厂模式
interface Int_DB {//接口,制定规范(自己理解)
public function fetchAll($sql);
}
//分别实现Int_DB接口
class MySQLDB implements Int_DB {
public function fetchAll($sql){
}
}
class SQLDB implements Int_DB {
public function fetchAll($sql){
}
}
//假设读取的配置项为mysql
$config['db_type'] = 'mysql';
//工厂类,负责实例化不同的类,工厂一般为一系列相关的对象集合
class DBFactory {
public function factory() {
if($GLOBALS['config']['db_type'] == 'mysql') {
return new MySQLDB();
} elseif ($GLOBALS['config']['db_type'] == 'sqlserver') {
return new SQLDB();
}
}
}
//使用工厂
$db = new DBFactory;
$db->factory();
$db->fetchAll($sql);