功能开发中,会遇到一些事件的处理,按照不同级别,处理不同的事情,我们称之为责任链模式 。
- 无法处理,则层层汇报。
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);