文档章节

php 工厂模式

my平凡世界
 my平凡世界
发布于 2014/05/31 14:24
字数 134
阅读 22
收藏 0
<?php


/*
法一:
$arr = array('+' => 'add','-' => 'plus','*' => 'mul');
function  add($a,$b)
{
	return $a+$b;
}
function plus($a,$b)
{
	return $a-$b;
}
function mul($a,$b)
{
	return $a*$b;
}

echo $arr['+'](2,3);
echo $arr['-'](2,3);
echo $arr['*'](2,3);*/


abstract class operate
{
	abstract public function getvalue($a,$b);
}

class add extends operate
{
	public function getvalue($a,$b)
	{
		return $a+$b;
	}
}
class jian extends operate
{
	public function getvalue($a,$b)
	{
		return $a-$b;
	}
}
class chen extends operate
{
	public function getvalue($a,$b)
	{
		return $a*$b;
	}
}
class chu extends operate
{
	public function getvalue($a,$b)
	{
		return $a/$b;
	}
}

class factory
{
	public static function oper($str)
	{
		switch($str)
		{
			case '+':
			return new add();
			break;

			case '-':
			return new jian();
			break;

			case '*':
			return new chen();
			break;

			case '/':
			return new chu();
			break;
		}
	}
}

echo factory::oper('-')->getvalue(10,8);


© 著作权归作者所有

共有 人打赏支持
下一篇: php 杨辉三角
my平凡世界
粉丝 1
博文 10
码字总数 1227
作品 0
泰州
私信 提问
《PHP设计模式大全》系列分享专栏

《PHP设计模式大全》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201739.html 文章 php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页...

kaixin_code
2018/11/06
0
0
PHP设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式。 一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设...

juhenj
2014/05/15
228
2
编程中的那些套路——关于单例模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 在设计模式中,单例模式和工厂模式)可以说是使用的最普遍的设计模式了,所以掌握此种模式尤为重要。 单...

gzchen
2018/08/27
0
0
编程中的那些套路——关于适配器模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 今天我们来谈谈适配器模式。 想象一个场景: 有一个类方法它部署在服务器上,专门负责大多数语言都通用的...

gzchen
2018/08/27
0
0
编程中的那些套路——关于策略模式

该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 今天讲讲策略模式,策略模式 和工厂模式十分相像(或者说在代码逻辑层面,他们是一样的)。 但策略模式与...

gzchen
2018/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

搜索引擎(Lucene-索引详解)

IndexWriter详解 问题1:索引创建过程完成什么事? 回顾架构图 Lucene索引创建API 图示 Lucene索引创建代码示例 public static void main(String[] args) throws IOException { // 创建...

这很耳东先生
9分钟前
0
0
JavaScript数据结构之栈实例用法

在本篇文章里小编给大家分享了关于JavaScript数据结构之栈实例用法内容,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 栈 先来看...

前端攻城老湿
19分钟前
0
0
springboot 使用 redis 管理session

1.pom.xml 引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency><dependency> ......

狼王黄师傅
19分钟前
0
0
Js取小数点后两位四种方法

在本篇文章里小编给大家分享了关于js取小数点后两位四种方法和实例代码,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Javascri...

前端攻城小牛
26分钟前
0
0
js 唤端

h5页面唤起app const appDownload = () => { // 分享- 唤起 - 下载function failed() {window.location = '应用商店的scheme '}function transfer(cb) {window.location.href =......

何祯粮
26分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部