责任链模式为请求创棉鞋里的阳光建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。
在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。
<?phpdefine("warning_level", 1);define("debug_level", 2);define("error_level", 3);abstract class abstractlog{ protected $level; protected $nextlogger; public function __construct($level){ $this->level = $level; } public function tnextlogger($next_logger){ $this->nextlogger = $next对干部的评价_logger; } public function logmessage($level,$message){ if(描写山的四字词语$this->level == $level){ $this->write($message); 爱莲说原文 } if($this->nextlogger){ $this->nextlogger->logmessage($level,$message); } } abstract function write($message);}class debugglogger extends abstractlog{ public function write($message){ echo "debug info: {$message} \n"; }}class warninglogger extends abstractlog{ publ三开头的四字成语ic function write($message){ echo "warning info: {$message} \n"; }}class errorlogger extends abstractlog{ public function write($message){ echo "error info: {$message} \n"; }}function getchainofloggers(){ $warning = new warninglogger(warning_level); $debugg = new debugglogger(debug_level); $error = new errorlogger(error_level); $warning->tnextlogger($debugg); $debugg->tnextlogger($error); return $warning;}$chain = getchainofloggers();$chain->logmessage(warning_level,"这是一条警告");$chain->logmessage(debug_level,"这是一条debug");$chain->logmessage(error_level,"这是一条致命错误");
输出
warning info: 这是一条警告debug info: 这是一条debugerror info: 这是一条致命错误
本文发布于:2023-04-07 06:30:14,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/7bf6c03a67b0ee08c1e5cdfe0040c677.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:【php设计模式】责任链模式.doc
本文 PDF 下载地址:【php设计模式】责任链模式.pdf
留言与评论(共有 0 条评论) |