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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
PHP静态新闻列表自动生成代码
Jun 14 PHP
php checkdate、getdate等日期时间函数操作详解
Mar 11 PHP
php 团购折扣计算公式
Nov 24 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
浅谈php提交form表单
Jul 01 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
CI框架简单邮件发送类实例
May 18 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
Cakephp 执行主要流程
2010/03/24 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
PHP时间函数使用详解
2019/03/21 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
python实现进程间通信简单实例
2014/07/23 Python
Python中的rfind()方法使用详解
2015/05/19 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
django ajax json的实例代码
2018/05/29 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
基于python实现学生信息管理系统
2019/11/22 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
Html5之title吸顶功能
2018/06/04 HTML / CSS
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
大学生如何写自荐信
2014/01/08 职场文书
生日庆典策划方案
2014/06/02 职场文书
节电标语大全
2014/06/23 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
唐山大地震的观后感
2015/06/05 职场文书
小学英语教学经验交流材料
2015/11/02 职场文书