PHP实现的策略模式简单示例

 更新时间:2017年08月25日 15:45:40   作者:LoveJulin  
这篇文章主要介绍了PHP实现的策略模式,结合简单实例形式分析了策略模式的原理与实现方法,需要的朋友可以参考下

本文实例讲述了PHP实现的策略模式。分享给大家供大家参考,具体如下:

比如说购物车系统,在给商品计算总价的时候,普通会员肯定是商品单价乘以数量,但是对中级会员提供8者折扣,对高级会员提供7折折扣,这种场景就可以使用策略模式实现:

<?php
/**
 * 策略模式实例
 *
 */
//抽象策略角色《为接口或者抽象类,给具体策略类继承》
interface Strategy
{
  public function computePrice($price);
}
//具体策略角色-普通会员策略类
class GenernalMember implements Strategy
{
  public function computePrice($price)
  {
    return $price;
  }
}
//具体策略角色-中级会员策略类
class MiddleMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.8;
  }
}
//具体策略角色-高级会员策略类
class HignMember implements Strategy
{
  public function computePrice($price)
  {
    return $price * 0.7;
  }
}
//环境角色实现类
class Price
{
  //具体策略对象
  private $strategyInstance;
  //构造函数
  public function __construct($instance)
  {
    $this->strategyInstance = $instance;
  }
  public function compute($price)
  {
    return $this->strategyInstance->computePrice($price);
  }
}
//客户端使用
$p = new Price(new HignMember());
$totalPrice = $p->compute(100);
echo $totalPrice; //70
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • phpinfo的知识点总结

    phpinfo的知识点总结

    在本篇文章里小编给大家分享的是关于phpinfo的知识点总结,需要的朋友们可以跟着学习下。
    2019-10-10
  • PHP 定界符 使用技巧

    PHP 定界符 使用技巧

    因为PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况
    2009-06-06
  • php 解析xml 的四种方法详细介绍

    php 解析xml 的四种方法详细介绍

    这篇文章主要介绍了php 解析xml 的四种方法详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • 浅析php插件 HTMLPurifier HTML解析器

    浅析php插件 HTMLPurifier HTML解析器

    本篇文章是对php插件 HTMLPurifier HTML解析器进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php实现图片转换成ASCII码的方法

    php实现图片转换成ASCII码的方法

    这篇文章主要介绍了php实现图片转换成ASCII码的方法,涉及php操作图片的技巧,需要的朋友可以参考下
    2015-04-04
  • php简单实现发送带附件的邮件

    php简单实现发送带附件的邮件

    这篇文章主要介绍了php简单实现发送带附件的邮件,涉及附件上传及邮件发送的相关技巧,需要的朋友可以参考下
    2015-06-06
  • PHP数组访问常用方法解析

    PHP数组访问常用方法解析

    这篇文章主要介绍了PHP数组访问常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • php中文字符截取防乱码

    php中文字符截取防乱码

    当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空” 根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了
    2008-03-03
  • php中将html中的br换行符转换为文本输入中的换行符

    php中将html中的br换行符转换为文本输入中的换行符

    PHP中的有个非常好的函数:nl2br(),将文本框中的换行转换为HTML页面的<br />,但是如何实现将html中的<br />换行符转换为文本框中的换行符呢
    2013-03-03
  • PHP获得数组交集与差集的方法

    PHP获得数组交集与差集的方法

    这篇文章主要介绍了PHP获得数组交集与差集的方法,实例分析了array_intersect与array_diff方法在求数组交集与差集时的使用技巧,需要的朋友可以参考下
    2015-06-06

最新评论