Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 33 |
| debug | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
72 | |
0.00% |
0 / 33 |
| enable | |
0.00% |
0 / 1 |
72 | |
0.00% |
0 / 33 |
|||
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\debug; | |
| use Symfony\Component\Debug\BufferingLogger; | |
| use Symfony\Component\Debug\DebugClassLoader; | |
| use Symfony\Component\Debug\ExceptionHandler; | |
| /** | |
| * Registers all the debug tools. | |
| * @see Symfony\Component\Debug\Debug | |
| */ | |
| 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 = null, $displayErrors = true) | |
| { | |
| if (static::$enabled) | |
| { | |
| return; | |
| } | |
| static::$enabled = true; | |
| if ($errorReportingLevel !== null) | |
| { | |
| error_reporting($errorReportingLevel); | |
| } | |
| else | |
| { | |
| error_reporting(-1); | |
| } | |
| if ('cli' !== php_sapi_name()) | |
| { | |
| ini_set('display_errors', 0); | |
| ExceptionHandler::register(); | |
| } | |
| else if ($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) | |
| { | |
| error_handler::register(new error_handler(new BufferingLogger())); | |
| } | |
| else | |
| { | |
| error_handler::register()->throwAt(0, true); | |
| } | |
| DebugClassLoader::enable(); | |
| } | |
| } |