PHP装饰者模式是什么,如何应用于文章的编辑操作
Admin 2022-05-30 群英技术资讯 1374 次浏览
今天小编跟大家讲解下有关“PHP装饰者模式是什么,如何应用于文章的编辑操作”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。本文实例讲述了php装饰者模式简单应用。分享给大家供大家参考,具体如下:
装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
示例:
A、B、C编辑同一篇文章。
class Article{
protected $content;
public function __construct($info){
$this->content = $info;
}
}
class editor_A extends Article{
public function __construct(Article $obj){
$this->content = $obj->content . '<br/>' . '编辑A新写的内容';
}
public function decorator(){
return $this->content;
}
}
class editor_B extends Article{
public function __construct(Article $obj){
$this->content = $obj->content . '<br/>' . '编辑B新写的内容';
}
public function decorator(){
return $this->content;
}
}
class editor_C extends Article{
public function __construct(Article $obj){
$this->content = $obj->content . '<br/>' . '编辑C新写的内容';
}
public function decorator(){
return $this->content;
}
}
$artCls = new Article('你好');
//编辑A先秀修改,然后编辑B修改,然后编辑C修改
$a = new editor_A($artCls);
$b = new editor_B($a);
$c = new editor_C($b);
echo $c->decorator();
//编辑B先秀修改,然后编辑A修改
$b = new editor_B($artCls);
$a = new editor_A($b);
echo $a->decorator();
//重点是传递参数的地方,使用Article $obj传递上一个操作的对象,
//来实现对同一个对象进行连续操作
运行结果:
你好
编辑A新写的内容
编辑B新写的内容
编辑C新写的内容你好
编辑B新写的内容
编辑A新写的内容
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Laravel 不同生产环境服务器的判断实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
laravel forge是一个使PHP部署变得轻而易举的工具,它允许用户使用Git和一些流行的服务器提供商来启动云服务器并处理部署过程。laravel forge拥有大量功能和易于使用的UI,可让用户轻松创建和配置服务器以及部署应用程序;配置服务提供商后,很有可能用户无需访问AWS控制台即可再次管理服务器。
相信很多PHP程序员对于代码应该都不陌生了,以下是一组Prototype (原型模式)代码,用原型实例指定创建对象的种类,有需要的用户可以直接在本文中直接拷贝来创建新的对象。
php如何上传图片?在开发过程中,有些需求是需要我们实现上传图片功能的,例如上传头像图片,评论图片,图片相册等等,那么如何利用PHP实现上传图片功能呢?下面我们一起来了解一下。
在Laravel中,依赖注入的实现原理是利用类方法反射,取得参数类型,然后利用容器构造好实例,再使用回调函数调起;注入对象构造函数不能有参数,否则会报错,依赖注入必须要由Router类调起,否则直接用new方式是无法实现注入的。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008