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个人网站架设连环讲(二)
Oct 09 PHP
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
php实现登录tplink WR882N获取IP和重启的方法
Jul 20 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
PHP二维数组去重实例分析
Nov 18 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
May 21 PHP
详解php用static方法的原因
Sep 12 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 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图像处理类代码分享
2012/01/19 PHP
PHP中使用addslashes函数转义的安全性原理分析
2014/11/03 PHP
Javascript 汉字字节判断
2009/08/01 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
VUE实现表单元素双向绑定(总结)
2017/08/08 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
Python中实现的RC4算法
2015/02/14 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
python实现学生管理系统
2018/01/11 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
python3.7调试的实例方法
2020/07/21 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
CSS3 transform的skew属性值图文详解
2014/07/21 HTML / CSS
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
初中地理教学反思
2014/01/11 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
Oracle锁表解决方法的详细记录
2022/06/05 Oracle
使用CSS实现音波加载效果
2023/05/07 HTML / CSS