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 相关文章推荐
ftp类(example.php)
Oct 09 PHP
PHP之COOKIE支持详解
Sep 20 PHP
php文本转图片自动换行的方法
Mar 13 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php curl登陆qq后获取用户信息时证书错误
Feb 03 PHP
codeigniter实现get分页的方法
Jul 10 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
thinkphp5.1框架容器与依赖注入实例分析
Jul 23 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
Apr 26 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加密解密的代码
2007/07/16 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
js 方法实现返回多个数据的代码
2009/04/30 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
使用js简单实现了tree树菜单
2013/11/20 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Monki官网:斯堪的纳维亚的独立时尚品牌
2020/11/09 全球购物
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
失职检讨书大全
2015/01/26 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js