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一些有意思的小区别
Dec 06 PHP
PHP语法速查表
Jan 02 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
Sep 23 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
Zend Framework教程之Resource Autoloading用法实例
Mar 08 PHP
php 解决扫描二维码下载跳转问题
Jan 13 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
php实现自动生成验证码的实例讲解
Nov 17 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函数的方法
2013/11/13 PHP
PHP中使用匿名函数操作数据库的例子
2014/11/17 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP递归的三种常用方式
2019/02/28 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
JavaScript中的闭包原理分析
2010/03/08 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
2014/09/24 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python中tell()方法的使用详解
2015/05/24 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
python如何生成网页验证码
2018/07/28 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
总裁办公室主任职责
2014/01/02 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
副总经理岗位职责
2014/03/16 职场文书
优秀班集体申报材料
2014/12/25 职场文书
统计员岗位职责范本
2015/04/14 职场文书
新人入职感言
2015/07/31 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
人民币符号
2022/02/17 杂记