🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### 实例 设计一个更好的,更灵活的.能使我们的异常可以被观察 . 定义一个接口 ~~~ interface Exception_Observer{ public function update(Observer_Exception $observer_Exception); } ~~~ 定义一个观察者模式的异常类 ~~~ class Observer_Exception extends Exception{ public static $observers = []; public function __construct(string $message = "", int $code = 0, Throwable $previous = null) { parent::__construct($message, $code, $previous); $this->notify(); } public static function attach(Exception_Observer $exception_Observer) { self::$observers[] = $exception_Observer; } public function notify() { foreach(self::$observers as $observer){ $observer->update($this); } } } ~~~ 未完