本文共 1129 字,大约阅读时间需要 3 分钟。
successor=$successor; } abstract public function handlerRequest($request); } //具体Handler类 class ConcreteHandler1 extends Handler{ public function handlerRequest($request){ if($request >= 0 && $request < 10){ echo get_class($this).'处理请求'.$request; }else if($this->successor != null){ $this->successor->handlerRequest($request); } } } class ConcreteHandler2 extends Handler{ public function handlerRequest($request){ if($request >= 10 && $request < 20){ echo get_class($this).'处理请求'.$request; }else if($this->successor != null){ $this->successor->handlerRequest($request); } } } class ConcreteHandler3 extends Handler{ public function handlerRequest($request){ if($request >= 20 && $request < 30){ echo get_class($this).'处理请求'.$request; }else if($this->successor != null){ $this->successor->handlerRequest($request); } } } //客户端 //生成请求的具体处理对象 $h1=new ConcreteHandler1(); $h2=new ConcreteHandler2(); $h3=new ConcreteHandler3(); //设置处理对象的下一个负责人(即处理请求的对象) $h1->setSuccessor($h2); $h2->setSuccessor($h3); //具体的请求有职责链的第一个接收 $h1->handlerRequest(20);?>
转载于:https://blog.51cto.com/noican/1614788