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 相关文章推荐
PHP 选项及相关信息函数库
Dec 04 PHP
PHP 验证码的实现代码
Jul 17 PHP
PHP连接MongoDB示例代码
Sep 06 PHP
php实现过滤UBB代码的类
Mar 12 PHP
PHP从FLV文件获取视频预览图的方法
Mar 12 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
PHP批量删除jQuery操作
Jul 23 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
Apr 15 PHP
Laravel推荐使用的十个辅助函数
May 10 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
中国收音机工业发展史
2021/03/02 无线电
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
Bootstrap精简教程
2015/11/27 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
react路由配置方式详解
2017/08/07 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
python通过索引遍历列表的方法
2015/05/04 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
Python下载的11种姿势(小结)
2020/11/18 Python
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
工程现场管理求职自荐信
2013/10/02 职场文书
美术教师自我鉴定
2014/02/12 职场文书
资源工程专业毕业生求职信
2014/02/27 职场文书
西式婚礼主持词
2014/03/13 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
飞越疯人院观后感
2015/06/09 职场文书
八月迷情观后感
2015/06/11 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
python数字图像处理之图像的批量处理
2022/06/28 Python