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中用数组的方法设置cookies
Apr 21 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
PHP代码审核的详细介绍
Jun 13 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
php读取文件内容的三种可行方法示例介绍
Feb 08 PHP
php使用websocket示例详解
Mar 12 PHP
php根据年月获取季度的方法
Mar 31 PHP
php结合ajax实现赞、顶、踩功能实例
May 12 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
php实现留言板功能
Mar 05 PHP
php从数据库中读取特定的行(实例)
Jun 02 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 面向对象实现代码
2009/11/11 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php截取中文字符串函数实例
2015/02/23 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
Javascript动画的实现原理浅析
2015/03/02 Javascript
浅谈Sizzle的“编译原理”
2015/04/14 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
JavaScript实现简单贪吃蛇效果
2020/03/09 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python常规方法实现数组的全排列
2015/03/17 Python
python黑魔法之参数传递
2016/02/12 Python
解决python 输出是省略号的问题
2018/04/19 Python
python创造虚拟环境方法总结
2019/03/04 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
Python 高效编程技巧分享
2020/09/10 Python
python xlsxwriter模块的使用
2020/12/24 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
玲玲的画教学反思
2014/02/04 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
小区消防演习方案
2014/02/21 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript