php设计模式之命令链模式
2015-12-10 16:42
721 查看
1. 使用场景
1. 命令连模式可以使用在用户登陆注册的时候处理不同角色用户的业务逻辑,与变量值
2. 代码实例
<?php /** * command interface * */ interface MyCommand { public function onCommand( $name, $args ); } //user register class Register { private $_commandsChain = array(); public function addCommand( $cmd ) { $this->_commandsChain []= $cmd; } public function runCommand( $name, $args ) { foreach( $this->_commandsChain as $cmd ) { if ($cmd->onCommand( $name, $args )) { return; } } } } //common logic class CommonCommand implements MyCommand { public function onCommand( $name, $args ) { if ($name != 'common_user' ) { return false; } echo "I am common member\n"; return true; } } //vip logic class VipCommand implements MyCommand { public function onCommand( $name, $args ) { if ($name != 'vip_user') { return false; } echo "I am vip member\n"; return true; } } //实例化注册器 $cc = new Register(); //运行普通用户的处理逻辑 $cc->addCommand( new CommonCommand() ); //运行高级用户的处理逻辑 $cc->addCommand( new VipCommand() ); //运行普通用户的处理逻辑 $cc->runCommand( 'common_user', null ); //运行高级用户的处理逻辑 $cc->runCommand( 'vip_user', null );
相关文章推荐
- 睡觉问题早晚成为我顶头疼的问题。。。-PHP
- 编写PHP脚本来实现WordPress中评论分页的功能
- php 图片压缩
- PHP读取PPT文件的方法
- 关于WordPress的SEO优化相关的一些PHP页面脚本技巧
- PHP创建PowerPoint2007文档的方法
- PHP CURL模拟登录抓取数据
- 安装了wampserver后进入localhost/phpmyadmin/失败
- PHP的模板Template模式
- Yii2.0 数据库操作
- PHP的代理Proxy模式
- 用PHP实现享元FlyWeight模式
- 判断、添加和删除WordPress置顶文章的相关PHP函数小结
- 如何使用 Zend Expressive 建立 NASA 图片库?
- matplotlib油漆基础
- zhphpframework框架(二) 框架初始化 init.php
- zhphp framework 框架(一)入口文件
- 如何使用 Zend Expressive 建立 NASA 图片库?
- 调试WordPress中定时任务的相关PHP脚本示例
- PHP5魔术函数与魔术常量