>백엔드 개발 >PHP 튜토리얼 >dvd.taiwan-sex.com PHP 디자인 모드 장식 장식 모드

dvd.taiwan-sex.com PHP 디자인 모드 장식 장식 모드

WBOY
WBOY원래의
2016-07-29 08:45:482094검색

코드 복사 코드는 다음과 같습니다.


/**
* 데코레이션 모드
*
* 객체에 일부 추가 책임을 동적으로 추가합니다. 이는 확장 기능 측면에서 하위 클래스를 생성하는 것보다 더 유연합니다.
*/
header(" Content-type:text/html;charset=utf-8");
추상 클래스 MessageBoardHandler
{
공용 함수 __construct(){}
추상 공용 함수 필터($msg) ;
}
class MessageBoard는 MessageBoardHandler를 확장합니다.
{
공용 함수 필터($msg)
{
return "메시지 보드의 콘텐츠 처리|".$msg; >}
}
$obj = new MessageBoard();
echo $obj->filter("데코레이션 모드를 꼭 배워보세요
")
// - -- 다음은 데코레이션 모드를 사용합니다.---
class MessageBoardDecorator는 MessageBoardHandler를 확장합니다.
{
private $_handler = null
public function __construct($handler)
{
parent; ::__construct();
$this->_handler = $handler;
}
공용 함수 필터($msg)
{
return $this->_handler-> filter($msg);
}
}
// 필터 html
class HtmlFilter 확장 MessageBoardDecorator
{
공용 함수 __construct($handler)
{
parent ::__construct($handler );
}
공용 함수 filter($msg)
{
return "HTML 태그 필터링|".parent::filter($msg);; HTML 태그 필터링 이때 처리하지 않고 텍스트만 추가하세요.
}
}
// 민감한 단어 필터링
class SensitiveFilter extends MessageBoardDecorator
{
public function __construct($handler)
{
parent::__construct($handler);
}
공용 함수 filter($msg)
{
return "민감한 단어 필터링|".parent::filter ($msg) ; // 민감한 단어를 필터링하려면 지금 처리하지 않고 텍스트만 추가하세요.
}
}
$obj = new HtmlFilter(new SensitiveFilter(new MessageBoard())); >echo $ obj->filter("데코레이션 모드를 꼭 배워보세요!
")


위 내용은 dvd.taiwan-sex.com의 내용을 포함하여 dvd.taiwan-sex.com PHP 디자인 모드 Decorator 장식 모드를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.