命令模式(Command)是一种非常常用的设计模式,其本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开,降低对象之间的耦合度,新的命令可以很容易地加入到系统中。
命令模式之所以常用的优势就在于可以将请求发送者和接收者完全解耦,而系统解耦是系统的终极目标。
解耦之后调用某些对象的某些方法,并不知道请求的接收者是谁。(推荐学习:PHP编程从入门到精通)
物联网环境下人工智能发展迅速,现在的智能灯,只需要连接手机就可以轻松操控,冬天躺在床上轻松实施打开关闭。
代码:
<?php header("Content-Type:text/html;charset=utf-8"); require_once "Command.php"; // 智能灯 $lamp = new Lamp(); // 开灯命令 $on = new onCommand($lamp); // 关灯命令 $off = new offCommand($lamp); // 控制器类 请求者 不用知道对象是谁 $_c = new Control($on,$off); $_c->turnOn(); // 开灯方法 $_c->turnOff(); // 关灯方法
代码:
<?php // 智能灯类 Class Lamp { /** * 开灯方法 * @access public */ public function TurnOn() { echo "已帮您打开智能灯<br/>"; } /** * 关灯方法 * @access public */ public function TurnOff() { echo "已帮您关闭智能灯<br/>"; } } // 命令抽象总类 abstract Class ICommand { /** * 抽象执行方法 * @access public */ abstract public function Execute(); } // 开灯命令 Class onCommand extends ICommand { /** * 智能灯对象 * @var object private */ private $_lamp; /** * 构造函数 * @access public * @param object $lamp 智能灯对象 */ function __construct($lamp) { $this->_lamp = $lamp; } /** * 开灯执行方法 * @access public */ function Execute() { $this->_lamp->TurnOn(); } } // 关灯命令 Class offCommand extends ICommand { /** * 智能灯对象 * @var object private */ private $_lamp; /** * 构造函数 * @access public * @param object $lamp 智能灯对象 */ function __construct($lamp) { $this->_lamp = $lamp; } /** * 关灯执行方法 * @access public */ function Execute() { $this->_lamp->TurnOff(); } } // 遥控器类 Class Control { /** * 开灯命令对象 * @var object private */ private $_on; /** * 关灯命令对象 * @var object private */ private $_off; /** * 构造函数 * @access public * @param object $on 开灯对象 * @param object $off 关灯对象 */ function __construct($on,$off) { $this->_on = $on; $this->_off = $off; } /** * 开灯函数 * @access public */ function turnOn() { $this->_on->Execute(); } /** * 关灯函数 * @access public */ function turnOff() { $this->_off->Execute(); } }
输出结果:
已帮您打开智能灯 已帮您关闭智能灯
以上是php命令模式什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

WebStorm Mac版
好用的JavaScript开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版
SublimeText3 Linux最新版

记事本++7.3.1
好用且免费的代码编辑器