PHP设计模式装饰器(装饰模式)
复制代码代码如下所示:< PHP
*装修模式
*
*动态地向对象添加一些附加职责,比扩展函数的子类生成更灵活
* /
标题(内容类型:文本/ HTML;字符集= UTF-8);
抽象类messageboardhandler
{
公共功能(__construct){ }
抽象公共函数过滤器(MSG);
}
班级留言板推广MessageBoardHandler
{
公共函数过滤器(MSG)
{
返回对|内容的留言板。$味精;
}
}
$ obj =新的留言板();
echo $ obj ->滤波器(必须学习装修模式);
以下是装饰图案的用法——
类messageboarddecorator延伸MessageBoardHandler
{
私人_handler美元= null;
公共功能__construct($处理)
{
家长::__construct();
美元-> _handler = $处理程序;
}
公共函数过滤器(MSG)
{
返回_handler美元-> ->滤波器($味精);
}
}
html过滤器
类htmlfilter延伸messageboarddecorator
{
公共功能__construct($处理)
{
家长::__construct($处理);
}
公共函数过滤器(MSG)
{
回风过滤HTML标签|。家长::滤波器($味精); / /;过滤HTML标签处理然后添加文本没有处理
}
}
过滤敏感字
类sensitivefilter延伸messageboarddecorator
{
公共功能__construct($处理)
{
家长::__construct($处理);
}
公共函数过滤器(MSG)
{
返回过滤敏感词|。家长::滤波器($味精); / /过滤敏感词的处理,然后添加一个文本没有处理
}
}
$ obj =新htmlfilter(新sensitivefilter(新留言板())))
echo $ obj ->滤波器(必须学习装修模式!;