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


Posted in PHP onJune 26, 2011
<?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 相关文章推荐
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
用PHP生成html分页列表的代码
Mar 18 PHP
php把session写入数据库示例
Feb 26 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
使用PHP如何实现高效安全的ftp服务器(二)
Dec 30 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 PHP
php+redis实现多台服务器内网存储session并读取示例
Jan 12 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
php设计模式 Strategy(策略模式)
Jun 26 #PHP
php设计模式 Observer(观察者模式)
Jun 26 #PHP
php设计模式 Singleton(单例模式)
Jun 26 #PHP
php设计模式 Command(命令模式)
Jun 26 #PHP
php设计模式 Template (模板模式)
Jun 26 #PHP
php设计模式 Proxy (代理模式)
Jun 26 #PHP
php设计模式 Composite (组合模式)
Jun 26 #PHP
You might like
php面向对象中的魔术方法中文说明
2014/03/04 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python多项式回归的实现方法
2019/03/11 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
python和js交互调用的方法
2020/06/23 Python
免费获得微软MCSD证书赶快行动吧!
2012/11/13 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
毕业生医学检验求职信
2013/10/16 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
创先争优个人承诺书
2014/08/30 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
简历自荐信范文
2015/03/09 职场文书
2015年国庆节标语大全
2015/07/30 职场文书