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中simplexml_load_file函数用法实例

本文实例讲述了php中simplexml_load_file函数用法。分享给大家供大家参考。具体用法分析如下: 在php中simplexml_load_file() 函数把 XML 文档...

php中自定义函数dump查看数组信息类似var_dump

这个很早就有了,比php自带的var_dump好用多了。 复制代码 代码如下: function dump($vars, $label = '', $return = false) {...

php数组函数序列之array_pop() - 删除数组中的最后一个元素

array_pop()定义和用法 array_pop() 函数删除数组中的最后一个元素。 语法 array_pop(array)参数 描述 array 必需。规定输入的数组参数。 例子...

PHP实现限制IP访问的方法

本文实例讲述了PHP实现限制IP访问的方法。分享给大家供大家参考,具体如下: //获取客户端ip if (getenv("HTTP_CLIENT_IP")) $ip = gete...

php简单实现无限分类树形列表的方法

本文实例讲述了php简单实现无限分类树形列表的方法。分享给大家供大家参考。具体如下: $items = array( 1 => array('id' => 1, '...