Esempio n. 1
0
 /**
  * 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();
 }
Esempio n. 2
0
 public function run(Request $request)
 {
     ExceptionHandler::register();
     try {
         $this->locator->getCommandForRequest($request)->execute();
     } catch (CommandLocatorException $e) {
         if ($e->getCode() == CommandLocatorException::UnknownCommand) {
             fwrite(STDERR, sprintf("Unknown command '%s'\n\n", $request->getCommand()));
         } else {
             throw $e;
         }
     }
 }
Esempio n. 3
0
 /**
  * activate custom debugging
  * registers error handler and exception handler
  * 
  * @param integer $reportingLevel
  * @param boolean $displayErrors
  */
 public static function enable($reportingLevel = NULL, $displayErrors = NULL)
 {
     if (!static::$enabled) {
         static::$enabled = true;
         error_reporting(E_ALL);
         ErrorHandler::register($reportingLevel, $displayErrors);
         if (PHP_SAPI !== 'cli') {
             ExceptionHandler::register($reportingLevel, $displayErrors);
         } elseif ($displayErrors && (!ini_get('log_errors') || ini_get('error_log'))) {
             ini_set('display_errors', 1);
         }
     }
 }
Esempio n. 4
0
 /**
  * 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;
     error_reporting(-1);
     ErrorHandler::register($errorReportingLevel, $displayErrors);
     if ('cli' !== php_sapi_name()) {
         ExceptionHandler::register();
         // CLI - display errors only if they're not already logged to STDERR
     } elseif ($displayErrors && (!ini_get('log_errors') || ini_get('error_log'))) {
         ini_set('display_errors', 1);
     }
     DebugClassLoader::enable();
 }
Esempio n. 5
0
if (!isset($_SESSION)) {
    session_start();
}
/*
 * Подключим все классы из src/auto
 */
include_once __DIR__ . '/src/auto/PsCoreIncluder.php';
PsCoreIncluder::inst()->includeCore();
/*
 * Зарегистрируем наш обработчик для php ошибок
 */
ExceptionHandler::register4errors();
/*
 * Подключим обработчик эксепшенов. Позднее мы подключим "красивый" обработчик ошибок.
 */
ExceptionHandler::register();
/*
 * Подключим загрузчик служебных классов
 */
Autoload::inst()->register();
/*
 * Если мы работаем под процессом - не подключаемся автоматически к DB и используем специальный провайдер безопасности
 */
if (PsContext::isCmd()) {
    /*
     * Установим специальный провайдер безопасности для консольного процесса
     */
    PsSecurity::set(new PsSecurityProviderCmd());
} else {
    /*
     * Автоматически подключаемся к БД