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

yipeiwu_com5年前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");
?>

相关文章

利用浏览器的Javascript控制台调试PHP程序

利用浏览器的Javascript控制台调试PHP程序

PHP是一种服务器端脚本语言,用来开发动态web应用程序。与JAVA相比,没有一个好的服务器端调试工具是其限制之一。通常我们都是在PHP代码中添加echo、var_dump等语句,将变量...

Apache 配置详解(最好的APACHE配置教程)

Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。 主站点的配置(基本配置) (1) 基本配置: Serv...

PHP判断密码强度的方法详解

本文实例讲述了PHP判断密码强度的方法。分享给大家供大家参考,具体如下: 一、php页面 $score = 0; if(!empty($_GET['value'])){ //接收的值...

迁移PHP版本到PHP7

迁移PHP版本到PHP7

今天看到微博上说phpng也就是php7合并到master上了,大家都知道我是比较喜欢探讨最新版本的东西,看看有什么特性,我就忍不住升级去了,以前我的PHP版本是5.5.19,然后我就开...

php实现替换手机号中间数字为*号及隐藏IP最后几位的方法

本文实例讲述了php实现替换手机号中间数字为*号及隐藏IP最后几位的方法。分享给大家供大家参考,具体如下: $string = "13826589549"; $pattern = "...