最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php設(shè)計(jì)模式 Decorator(裝飾模式)

 更新時間:2011年06月26日 11:21:59   作者:  
動態(tài)的給一個對象添加一些額外的職責(zé),就擴(kuò)展功能而言比生成子類方式更為靈活
復(fù)制代碼 代碼如下:

<?php
/**
* 裝飾模式
*
* 動態(tài)的給一個對象添加一些額外的職責(zé),就擴(kuò)展功能而言比生成子類方式更為靈活
*/
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 "處理留言板上的內(nèi)容|".$msg;
}
}

$obj = new MessageBoard();
echo $obj->filter("一定要學(xué)好裝飾模式<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標(biāo)簽|".parent::filter($msg);; // 過濾掉HTML標(biāo)簽的處理 這時只是加個文字 沒有進(jìn)行處理
}
}

// 過濾敏感詞
class SensitiveFilter extends MessageBoardDecorator
{
public function __construct($handler)
{
parent::__construct($handler);
}

public function filter($msg)
{
return "過濾掉敏感詞|".parent::filter($msg); // 過濾掉敏感詞的處理 這時只是加個文字 沒有進(jìn)行處理
}
}

$obj = new HtmlFilter(new SensitiveFilter(new MessageBoard()));
echo $obj->filter("一定要學(xué)好裝飾模式!<br/>");

相關(guān)文章

  • PHP與MySQL開發(fā)的8個技巧小結(jié)

    PHP與MySQL開發(fā)的8個技巧小結(jié)

    LAMP 架構(gòu)的網(wǎng)站,我以前注重的多是安裝/配置方面的,講述開發(fā)的相對較少,因?yàn)樽约簭氖麻_發(fā)也少??戳艘院?,頗有啟發(fā),以前開發(fā)中遇到的一些問題,迎刃而解。所以翻譯出來和大家共享。
    2010-12-12
  • php正則表達(dá)式(regar expression)

    php正則表達(dá)式(regar expression)

    在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常會有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的語法。
    2011-09-09
  • PHP實(shí)現(xiàn)動態(tài)刪除XML數(shù)據(jù)的方法示例

    PHP實(shí)現(xiàn)動態(tài)刪除XML數(shù)據(jù)的方法示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)動態(tài)刪除XML數(shù)據(jù)的方法,在前面介紹的Message_XML類基礎(chǔ)上進(jìn)行改進(jìn),增加了xml刪除功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • linux iconv方法的使用

    linux iconv方法的使用

    使用iconv方法進(jìn)行編碼轉(zhuǎn)換。在windows平臺下面可以正常的工作(本地環(huán)境使用的win7),但是在linux環(huán)境下面iconv總是返回false(測試環(huán)境使用的linux)。
    2011-10-10
  • PHP簡單判斷字符串是否包含另一個字符串的方法

    PHP簡單判斷字符串是否包含另一個字符串的方法

    這篇文章主要介紹了PHP簡單判斷字符串是否包含另一個字符串的方法,實(shí)例分析了PHP通過自定義函數(shù)實(shí)現(xiàn)字符串包含的判斷,涉及PHP中explode函數(shù)分隔符的使用與判定技巧,需要的朋友可以參考下
    2016-03-03
  • PHP中for循環(huán)語句的幾種變型

    PHP中for循環(huán)語句的幾種變型

    PHP中for循環(huán)語句的幾種變型...
    2006-11-11
  • php實(shí)現(xiàn)excel中rank函數(shù)功能的方法

    php實(shí)現(xiàn)excel中rank函數(shù)功能的方法

    這篇文章主要介紹了php實(shí)現(xiàn)excel中rank函數(shù)功能的方法,較為詳細(xì)的分析了rank函數(shù)的功能及具體實(shí)現(xiàn)方法,需要的朋友可以參考下
    2015-01-01
  • php下獲取http狀態(tài)的實(shí)現(xiàn)代碼

    php下獲取http狀態(tài)的實(shí)現(xiàn)代碼

    在項(xiàng)目開發(fā)中,有時我們需要知道遠(yuǎn)程的URL地址是否能訪問正常,判斷其正常與否后進(jìn)行下一步的操作,那么在PHP中如何獲取遠(yuǎn)程HTTP的狀態(tài)呢
    2014-05-05
  • PHP中使用glob函數(shù)實(shí)現(xiàn)一句話刪除某個目錄下的所有文件

    PHP中使用glob函數(shù)實(shí)現(xiàn)一句話刪除某個目錄下的所有文件

    這篇文章主要介紹了PHP中使用glob函數(shù)實(shí)現(xiàn)一句話刪除某個目錄下的所有文件,重點(diǎn)在glob函數(shù)的使用上,需要的朋友可以參考下
    2014-07-07
  • PHP生成隨機(jī)數(shù)的方法總結(jié)

    PHP生成隨機(jī)數(shù)的方法總結(jié)

    本篇文章給大家總結(jié)了PHP生成隨機(jī)數(shù)的方法并把相關(guān)的代碼做了分享,有需要的讀者們參考學(xué)習(xí)下吧。
    2018-03-03

最新評論

宁乡县| 五常市| 外汇| 河津市| 宁津县| 景谷| 中方县| 青河县| 潼关县| 濉溪县| 五华县| 普兰县| 青川县| 邵阳县| 理塘县| 信丰县| 渝北区| 永嘉县| 商城县| 永清县| 南靖县| 潢川县| 巧家县| 基隆市| 章丘市| 改则县| 江华| 景德镇市| 曲靖市| 海阳市| 郎溪县| 法库县| 靖江市| 色达县| 广水市| 舞阳县| 吕梁市| 元谋县| 新巴尔虎右旗| 锡林郭勒盟| 肥西县|