国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php設計模式 Decorator(裝飾模式)

2024-05-04 23:17:53
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?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("一定要學好裝飾模式<br/>");

// --- 以下是使用裝飾模式 ----
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("一定要學好裝飾模式!<br/>");

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延长县| 茌平县| 会泽县| 玉溪市| 北票市| 芜湖市| 文安县| 龙里县| 敖汉旗| 田阳县| 竹北市| 当涂县| 新化县| 富宁县| 务川| 卢龙县| 宜川县| 麻栗坡县| 毕节市| 炎陵县| 恩平市| 寻乌县| 长子县| 大邑县| 蚌埠市| 乐山市| 秀山| 杭州市| 岚皋县| 子洲县| 镇沅| 福建省| 绥滨县| 新乡县| 平江县| 二手房| 会东县| 乌恰县| 崇阳县| 博乐市| 抚松县|