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 ->滤波器(必须学习装修模式!;