Verzeichnisstruktur phpBB-3.2.0


Veröffentlicht
06.01.2017

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

      (Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

ErrorHandler.php

Zuletzt modifiziert: 09.10.2024, 12:55 - Dateigröße: 2.54 KiB


 001  <?php
 002  /**
 003   * Zend Framework (http://framework.zend.com/)
 004   *
 005   * @link      http://github.com/zendframework/zf2 for the canonical source repository
 006   * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 007   * @license   http://framework.zend.com/license/new-bsd New BSD License
 008   */
 009   
 010  namespace Zend\Stdlib;
 011   
 012  use ErrorException;
 013   
 014  /**
 015   * ErrorHandler that can be used to catch internal PHP errors
 016   * and convert to an ErrorException instance.
 017   */
 018  abstract class ErrorHandler
 019  {
 020      /**
 021       * Active stack
 022       *
 023       * @var array
 024       */
 025      protected static $stack = array();
 026   
 027      /**
 028       * Check if this error handler is active
 029       *
 030       * @return bool
 031       */
 032      public static function started()
 033      {
 034          return (bool) static::getNestedLevel();
 035      }
 036   
 037      /**
 038       * Get the current nested level
 039       *
 040       * @return int
 041       */
 042      public static function getNestedLevel()
 043      {
 044          return count(static::$stack);
 045      }
 046   
 047      /**
 048       * Starting the error handler
 049       *
 050       * @param int $errorLevel
 051       */
 052      public static function start($errorLevel = \E_WARNING)
 053      {
 054          if (!static::$stack) {
 055              set_error_handler(array(get_called_class(), 'addError'), $errorLevel);
 056          }
 057   
 058          static::$stack[] = null;
 059      }
 060   
 061      /**
 062       * Stopping the error handler
 063       *
 064       * @param  bool $throw Throw the ErrorException if any
 065       * @return null|ErrorException
 066       * @throws ErrorException If an error has been catched and $throw is true
 067       */
 068      public static function stop($throw = false)
 069      {
 070          $errorException = null;
 071   
 072          if (static::$stack) {
 073              $errorException = array_pop(static::$stack);
 074   
 075              if (!static::$stack) {
 076                  restore_error_handler();
 077              }
 078   
 079              if ($errorException && $throw) {
 080                  throw $errorException;
 081              }
 082          }
 083   
 084          return $errorException;
 085      }
 086   
 087      /**
 088       * Stop all active handler
 089       *
 090       * @return void
 091       */
 092      public static function clean()
 093      {
 094          if (static::$stack) {
 095              restore_error_handler();
 096          }
 097   
 098          static::$stack = array();
 099      }
 100   
 101      /**
 102       * Add an error to the stack
 103       *
 104       * @param int    $errno
 105       * @param string $errstr
 106       * @param string $errfile
 107       * @param int    $errline
 108       * @return void
 109       */
 110      public static function addError($errno, $errstr = '', $errfile = '', $errline = 0)
 111      {
 112          $stack = & static::$stack[count(static::$stack) - 1];
 113          $stack = new ErrorException($errstr, 0, $errno, $errfile, $errline, $stack);
 114      }
 115  }
 116