/** * Initialize the error handler * @param bool $handle_exceptions [optional]True to handle all exceptions * @param bool $handle_errors [optional] True to handle all errors * @param bool $debug [optional] True to enable the debug mode, sensitive data will be shown of this mode is enabled */ public static function init($handle_exceptions = true, $handle_errors = true, $debug = false) { // Set whether the debug mode should be enabled or not self::$debug = $debug; // Set the error and exception handlers if ($handle_errors) { set_error_handler(__CLASS__ . '::handleError', E_ALL); } if ($handle_exceptions) { set_exception_handler(__CLASS__ . '::handleException'); } register_shutdown_function(function () { $isError = false; if ($error = error_get_last()) { switch ($error['type']) { case E_ERROR: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_USER_ERROR: $isError = true; ErrorHandler::handleError($error['type'], $error['message'], $error['file'], $error['line'], null); break; } } if ($isError) { //var_dump ($error);//do whatever you need with it } }); }
// Make sure Carbon Core is initialized successfully if (!defined('CARBON_CORE_INIT_DONE') || CARBON_CORE_INIT_DONE != true) { die('Failed to load the application because Carbon Core couldn\'t be initialized'); } // Include the loader for the app and set it up require_once APP_ROOT . '/autoloader/loader/AppLoader.php'; use app\autoloader\loader\AppLoader; use app\registry\Registry; use carbon\core\autoloader\Autoloader; Autoloader::addLoader(new AppLoader()); // Load the configuration use app\config\Config; Config::load(); // Set up the error handler use carbon\core\ErrorHandler; ErrorHandler::init(true, true, Config::getValue('app', 'debug')); // Connect to the database use app\database\Database; Database::connect(); // Set up the cookie manager use carbon\core\cookie\CookieManager; CookieManager::setCookieDomain(Config::getValue('cookie', 'domain', '')); CookieManager::setCookiePath(Config::getValue('cookie', 'path', '/')); CookieManager::setCookiePrefix(Config::getValue('cookie', 'prefix', '')); // Set up the language manager use app\language\LanguageManager; LanguageManager::init(true, Registry::getValue('language.default.tag')->getValue()); $languageTag = LanguageManager::getCookieLanguageTag(); if ($languageTag !== null) { LanguageManager::setCurrentLanguageTag($languageTag); }