php设计模式 Interpreter(解释器模式)

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

<?php
/**
* 解释器 示例
*
* @create_date: 2010-01-04
*/
class Expression
{
function interpreter($str)
{
return $str;
}
}
class ExpressionNum extends Expression
{
function interpreter($str)
{
switch($str)
{
case "0": return "零";
case "1": return "一";
case "2": return "二";
case "3": return "三";
case "4": return "四";
case "5": return "五";
case "6": return "六";
case "7": return "七";
case "8": return "八";
case "9": return "九";
}
}
}
class ExpressionCharater extends Expression
{
function interpreter($str)
{
return strtoupper($str);
}
}
class Interpreter
{
function execute($string)
{
$expression = null;
for($i = 0;$i<strlen($string);$i++) {
$temp = $string[$i];
switch(true)
{
case is_numeric($temp): $expression = new ExpressionNum(); break;
default: $expression = new ExpressionCharater();
}
echo $expression->interpreter($temp);
}
}
}
$obj = new Interpreter();
$obj->execute("12345abc");
?>

相关文章

PHP设置Cookie的HTTPONLY属性方法

httponly是微软对cookie做的扩展,这个主要是解决用户的cookie可能被盗用的问题。 大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次...

PHP下载文件函数与用法示例

本文实例讲述了PHP下载文件函数与用法。分享给大家供大家参考,具体如下: 文件链接 <div> <a href="./file.zip" rel="extern...

PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)

废话不多少,上代码复制代码 代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ &nbs...

PHP实现创建微信自定义菜单的方法示例

本文实例讲述了PHP实现创建微信自定义菜单的方法。分享给大家供大家参考,具体如下: 在使用通用接口前,你需要做以下两步工作: 1.拥有一个微信公众账号,并获取到appid和appsecr...

PHP echo,print,printf,sprintf函数之间的区别与用法详解

1. echo函数: 输出函数,是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如: echo $myvar1; echo 1,2,$myvar,"<b>b...