您的位置:首页 > 编程语言 > PHP开发

介绍PHP中的职责链模式,设计模式

2020-04-07 19:00 911 查看

大家好,我是文杰,来,新鲜出炉的,职责链设计模式,但是,不太推荐使用。

如果你有更好的方案,留言下呗,我也好学习下

应用场景:

1 粗口帖子 -> 吧主删帖

2 黄色帖子 ->管理员封号

3 杀人 -> 警察捉人

上面是一个贴吧例子,如果一个用户发布了3,这时候需要举报,调用的顺序是 吧主删帖->管理员封号->警察捉人

 

弊端:消耗资源实在太大了,不推荐使用哈

 

[code]<?php
/***
* 责任链模式 -> 找它的上级 -> 肯定要有一级是可以处理的
*/

class board
{
protected $power = 1;
protected $top = 'admin';// 上级

// 版主删帖
public function process($lev)
{
if ($lev <= $this->power) {
echo '版主删帖';
} else {
$top = new$this->top;
$top->process($lev);
}
}
}

class admin
{
protected $power = 2;
protected $top = 'police';// 上级

public function process($lev)
{
if ($lev <= $this->power) {
echo '管理员封号';
} else {
$top = new $this->top;
$top->process($lev);
}

}
}

class police
{
protected $top = null;
protected $power;
public function process()
{
echo '警察捉人';
}
}

// 责任链模式来处理举报问题
$lev = $_POST['jubao'] ?: 3;

$judge = new board();
$judge->process($lev);

  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
定西@hello_world 发布了17 篇原创文章 · 获赞 13 · 访问量 1087 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: