diff vendor/symfony/debug/Debug.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/symfony/debug/Debug.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Debug;
+
+/**
+ * Registers all the debug tools.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class Debug
+{
+    private static $enabled = false;
+
+    /**
+     * Enables the debug tools.
+     *
+     * This method registers an error handler and an exception handler.
+     *
+     * If the Symfony ClassLoader component is available, a special
+     * class loader is also registered.
+     *
+     * @param int  $errorReportingLevel The level of error reporting you want
+     * @param bool $displayErrors       Whether to display errors (for development) or just log them (for production)
+     */
+    public static function enable($errorReportingLevel = E_ALL, $displayErrors = true)
+    {
+        if (static::$enabled) {
+            return;
+        }
+
+        static::$enabled = true;
+
+        if (null !== $errorReportingLevel) {
+            error_reporting($errorReportingLevel);
+        } else {
+            error_reporting(E_ALL);
+        }
+
+        if ('cli' !== PHP_SAPI) {
+            ini_set('display_errors', 0);
+            ExceptionHandler::register();
+        } elseif ($displayErrors && (!ini_get('log_errors') || ini_get('error_log'))) {
+            // CLI - display errors only if they're not already logged to STDERR
+            ini_set('display_errors', 1);
+        }
+        if ($displayErrors) {
+            ErrorHandler::register(new ErrorHandler(new BufferingLogger()));
+        } else {
+            ErrorHandler::register()->throwAt(0, true);
+        }
+
+        DebugClassLoader::enable();
+    }
+}