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 Static关键字实用方法
Jun 04 PHP
php基础学习之变量的使用
Jun 09 PHP
关于PHP语言构造器介绍
Jul 08 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
Apr 15 PHP
php 如何获取文件的后缀名
Jun 05 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
浅谈php中的循环while、do...while、for、foreach四种循环
Nov 05 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 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代码优化及php相关问题总结
2006/10/09 PHP
真正的ZIP文件操作类(php)
2007/07/21 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
2013/01/06 PHP
php.ini 配置文件的深入解析
2013/06/17 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP的PSR规范中文版
2013/09/28 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
2017/07/12 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
node 版本切换的实现
2020/02/02 Javascript
基于JS+HTML实现弹窗提示是否确认提交功能
2020/06/17 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
[00:52]DOTA2国际邀请赛
2020/02/21 DOTA
Python内置的字符串处理函数详细整理(覆盖日常所用)
2014/08/19 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python常用类型转换实现代码实例
2020/07/28 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
Python 列表反转显示的四种方法
2020/11/16 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
最新教师自我评价分享
2013/11/12 职场文书
商务助理求职信范文
2014/04/20 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
2015年中秋节活动总结
2015/03/23 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书