php设计模式之责任链模式

<?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);

posted @ 2017-12-26 12:02  mayer326  阅读(153)  评论(0编辑  收藏  举报