复制代码 代码如下:
php
/**
* 装饰模式
*
* 动态的给一个对象添加一些额外的职责,就扩展功能而言比生成子类方式更为灵活
*/
header("content-type:text/html;charset=utf-8");
abstract class messageboardhandler
{
public function __construct(){}
abstract public function filter($msg);
}
class messageboard extends messageboardhandler
{
public function filter($msg)
{
return "处理留言板上的内容|".$msg;
}
}
$obj = new messageboard();
echo $obj->filter("一定要学好装饰模式
");
// --- 以下是使用装饰模式 ----
class messageboarddecorator extends messageboardhandler
{
private $_handler = null;
public function __construct($handler)
{
parent::__construct();
$this->_handler = $handler;
}
public function filter($msg)
{
return $this->_handler->filter($msg);
}
}
// 过滤html
class htmlfilter extends messageboarddecorator
{
public function __construct($handler)
{
parent::__construct($handler);
}
public function filter($msg)
{
return "过滤掉html标签|".parent::filter($msg);; // 过滤掉html标签的处理 这时只是加个文字 没有进行处理
}
}
// 过滤敏感词
class sensitivefilter extends messageboarddecorator
{
public function __construct($handler)
{
parent::__construct($handler);
}
public function filter($msg)
{
return "过滤掉敏感词|".parent::filter($msg); // 过滤掉敏感词的处理 这时只是加个文字 没有进行处理
}
}
$obj = new htmlfilter(new sensitivefilter(new messageboard()));
echo $obj->filter("一定要学好装饰模式!
");
0
0
相关文章
php动态网站开发怎么配置虚拟主机_PHP动态网站虚拟主机设置【步骤】
如何在网页中正确下载 HTML 音频文件(MP3)
php请求过滤规则怎改_php请求过滤规则修改法【净化】
PHP请求网址返回空值可能啥原因_PHP查空值原因法【排查】
PHP怎样修改日志文件时间戳_PHP改日志时间戳技巧【更新】
相关标签:
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题围绕 Archive of Our Own(AO3)官网入口展开,系统整理 AO3 最新可用官网地址、网页版访问方式、正确打开链接的方法,并详细讲解 AO3 中文界面设置、阅读语言切换及基础使用流程,帮助用户稳定访问 AO3 官网,高效完成中文阅读与作品浏览。
206
2026.02.02
本专题聚合极兔快递、京东快递、中通快递、圆通快递、韵达快递等主流物流平台的单号查询与运单追踪内容,重点解决单号查询、手机号查物流、官网入口直达、包裹进度实时追踪等高频问题,帮助用户快速获取最新物流状态,提升查件效率与使用体验。
102
2026.02.02
本专题系统讲解 Golang 在 WebAssembly(WASM)开发中的实践方法,涵盖 WASM 基础原理、Go 编译到 WASM 的流程、与 JavaScript 的交互方式、性能与体积优化,以及典型应用场景(如前端计算、跨平台模块)。帮助开发者掌握 Go 在新一代 Web 技术栈中的应用能力。
15
2026.02.02
本专题聚焦 PHP Swoole 扩展在高性能服务端开发中的应用,系统讲解协程模型、异步IO、TCP/HTTP/WebSocket服务器、进程与任务管理、常驻内存架构设计。通过实战案例,帮助开发者掌握 使用 PHP 构建高并发、低延迟服务端应用的工程化能力。
16
2026.02.02
本专题系统讲解 Java 通过 JNI 调用 C/C++ 本地代码的核心机制,涵盖 JNI 基本原理、数据类型映射、内存管理、异常处理、性能优化策略以及典型应用场景(如高性能计算、底层库封装)。通过实战示例,帮助开发者掌握 Java 与本地代码混合开发的完整流程。
9
2026.02.02
热门下载
相关下载
精品课程
最新文章





