php设计模式之工厂模式用法经典实例分析


Posted in PHP onSeptember 20, 2019

本文实例讲述了php设计模式之工厂模式用法。分享给大家供大家参考,具体如下:

<?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程序设计有所帮助。

PHP 相关文章推荐
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
php实现的验证码文件类实例
Jun 18 PHP
分享php多功能图片处理类
May 15 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
利用php做服务器和web前端的界面进行交互
Oct 31 PHP
PHP中模糊查询并关联三个select框
Jun 19 PHP
PHP生成随机数的方法总结
Mar 01 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
Aug 02 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 #PHP
php数组和链表的区别总结
Sep 20 #PHP
php输出反斜杠的实例方法
Sep 19 #PHP
php实现session共享的实例方法
Sep 19 #PHP
php进行md5加密简单实例方法
Sep 19 #PHP
php解决安全问题的方法实例
Sep 19 #PHP
PHP中16个高危函数整理
Sep 19 #PHP
You might like
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
第十三节 对象串行化 [13]
2006/10/09 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
微信小程序之多列表的显示和隐藏功能【附源码】
2018/08/06 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
Python脚本实现12306火车票查询系统
2016/09/30 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
施工人员岗位职责
2013/12/12 职场文书
材料员岗位职责
2014/03/13 职场文书
新年寄语大全
2014/04/12 职场文书
《观舞记》教学反思
2014/04/16 职场文书
英语教育专业自荐信
2014/05/29 职场文书
地球一小时宣传标语
2014/06/24 职场文书
组织生活会发言材料
2014/12/15 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
python使用BeautifulSoup 解析HTML
2022/04/24 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL