<?php
class Admin {
???public function __construct() {
???????if($this->top === null) {
???????????return;
???????}
???????$this->toper = new $this->top();
???}
???public function proc($danger) {
???????if($danger <= $this->power) {
???????????$this->doProc();
???????} else {
???????????$this->toper->proc($danger);
???????}
???}
}
class Banzhu extends Admin {
???protected $power = 1;
???protected $top = ‘Police‘;
???protected function doProc() {
???????????echo ‘删帖‘;
???}
}
class Police extends Admin {
???protected $power = 2;
???protected $top = ‘Guoan‘;
???public function doProc() {
???????echo ‘抓人‘;
???}
}
class Guoan extends Admin {
???protected $power = 3;
???protected $top = null;
???public function doProc() {
???????echo ‘灭口‘;
???}
}
$danger = 3;
$admin = new Banzhu();
$admin->proc($danger);
echo "<pre>";
print_r($admin);
php设计模式之责任链模式
原文地址:https://www.cnblogs.com/aiit/p/8117339.html