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 相关文章推荐
php5 and xml示例
Nov 22 PHP
DISCUZ 分页代码
Jan 02 PHP
WordPress判断用户是否登录的代码
Mar 17 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
php curl模拟post请求小实例
Nov 13 PHP
小谈php正则提取图片地址
Mar 27 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
Jun 12 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
autoPlay 基于jquery的图片自动播放效果
2011/12/07 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
wxPython实现绘图小例子
2019/11/19 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
2020/03/09 Python
python 通过邮件控制实现远程控制电脑操作
2020/03/16 Python
使用python实现CGI环境搭建过程解析
2020/04/28 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
小学毕业演讲稿
2014/04/25 职场文书
2014年征兵标语
2014/06/20 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
新闻稿格式范文
2015/07/18 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
迎国庆主题班会
2015/08/17 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
Pillow图像处理库安装及使用
2022/04/12 Python