?php
/***
* @desc 工厂模式
* ***/
interface DB{
/*
* @desc 接口类不体现具体实现,只是为了规范一套规则
* **/
public function conn();
public function add();
public function delete();
public function update();
public function select();
public function getLastSql();
}
/**
* @desc 创建mysqlDb类
* 接口是用来被实现的,并且每一个方法都必须要被实现
* **/
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 创建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 创建一个数据库工程类,用来生产对象
* **/
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();
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》