您的位置:首页 > 编程语言 > PHP开发

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

2011-06-26 00:00 1881 查看
<?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"); 
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息