本文实例讲述了php设计模式之工厂模式用法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?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();
|
测试结果输出:
恭喜您,mysql数据库连接成功
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/lisqiong/p/6549745.html