Пример #1
0
 /**
  * Returns a string representation of the handler
  *
  * @author Art <*****@*****.**>
  * @return string
  */
 public function __toString()
 {
     return parent::__toString() . self::EOL . 'Registered: ' . (self::$registered ? 'Yes' : 'No') . self::EOL . 'Last reported error: ' . (self::$lastReported ? self::$lastReported->__toString() : '<<none>>');
 }
Пример #2
0
 /**
  * Checks if the two errors are equal
  *
  * @author Art <*****@*****.**>
  *
  * @param Error $e The other error
  *
  * @return bool
  */
 public function equals(Error $e)
 {
     return $e->__toString() === $this->__toString();
 }
Пример #3
0
 /**
  * The shutdown handler
  *
  * @author Art <*****@*****.**>
  * @since  1.2.1 Should now report fatal errors if no errors had been raised beforehand.
  * @codeCoverageIgnore
  */
 public function handle()
 {
     if (ErrorHandler::isRegistered()) {
         $e = new Error(error_get_last());
         if (Error::shouldBeReported($e->getType())) {
             $r = ErrorHandler::getLastReportedError();
             $h = ErrorHandler::getLastRegisteredHandler();
             if (!$e->isEmpty() && $h && ($r ? !$r->isEmpty() && !$r->equals($e) : true)) {
                 $h->handle($e->getType(), Alo::ifnull($e->getMessage(), '<<unknown error>>'), Alo::ifnull($e->getFile(), '<<unknown file>>'), Alo::ifnull($e->getLine(), '<<unknown line>>'));
             }
         }
     }
 }