PHP设计模式-责任链模式

功能开发中,会遇到一些事件的处理,按照不同级别,处理不同的事情,我们称之为责任链模式 。

  • 无法处理,则层层汇报。
class board
{
    protected $lev    = 1;
    protected $toplev = 'admin';

    public function process($lever)
    {
        if ($lever <= $this->lev) {
            echo '版主删帖,封号一年';
        } else {
            $top = new $this->toplev;
            $top->process($lever);
        }
    }
}

class admin
{
    protected $lev    = 2;
    protected $toplev = 'police';

    public function process($lever)
    {
    	//按照责任职责处理,发现无法处理,则向上一级汇报。
        if ($lever <= $this->lev) {
            echo '管理员永久封号';
        } else {
            $top = new $this->toplev;
            $top->process($lever);
        }
    }
}

class police
{
	protected $lev    = 100;
    protected $toplev = null;
    public function process($lever = 0)
    {
        echo '抓起来,枪毙!';
    }
}

//责任链模式
$lev     = $_POST['jb_content'] + 0;
$dealObj = new board();
$dealObj->process($lev);

发布了46 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/tangqing24680/article/details/99866860
今日推荐