首页 > 代码库 > Decorator(装饰器模式)
Decorator(装饰器模式)
装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行为动作。
<?phpclass HtmlTemplate { // any parent class methods} class Template1 extends HtmlTemplate { protected $_html; public function __construct() { $this->_html = "<p>__text__</p>"; } public function set($html) { $this->_html = $html; } public function render() { echo $this->_html; }} class Template2 extends HtmlTemplate { protected $_element; public function __construct($s) { $this->_element = $s; $this->set("<h2>" . $this->_html . "</h2>"); } public function __call($name, $args) { $this->_element->$name($args[0]); }} class Template3 extends HtmlTemplate { protected $_element; public function __construct($s) { $this->_element = $s; $this->set("<u>" . $this->_html . "</u>"); } public function __call($name, $args) { $this->_element->$name($args[0]); }}
Decorator(装饰器模式)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。