php设计模式之工厂模式用法经典实例分析
时间:2022-07-27
本文章向大家介绍php设计模式之工厂模式用法经典实例分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例讲述了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数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 【原创】Java并发编程系列36 | FutureTask
- React Hooks-useTypescript!
- spring-boot项目优雅的http客户端工具,真香!
- 人人都可以学会生存分析(学徒数据挖掘)
- 谈谈const跟Object.freeze()
- Java String类源码阅读笔记
- 别再用JSON配置文件了
- 什么,你一定要基于FPKM标准化表达矩阵做单细胞差异分析
- Tomcat 9最新版安装与使用手册,tomcat更改端口号,tomcat控制台乱码问题解决方法
- Python 技术篇-读取遍历指定路径的文件,区分文件和文件夹
- MySQL蜜罐获取攻击者微信ID
- PyQt5 技巧篇-增加一个类级变量,类级变量的设置方法,类级"常量"设置方法
- PyQt5 技巧篇-按钮隐藏并保留位置,设置按钮的可见度,设置按钮透明度
- PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态
- PyQt5 技巧篇-QWidget、Dialog界面固定大小设置