/** * Инициализация для крона * @return void */ public function cron() { define('APPLICATION_CLI', true); $this->root = realpath(dirname(__FILE__)); header("Content-type: text/html; charset=UTF-8"); //Загружаем класс ошибок require_once 'boot/exception/exception.php'; require_once 'boot/exception/db.php'; //Инклудим треды require_once SYSTEM_PATH . '/boot/trait/controller.php'; foreach (glob(SYSTEM_PATH . '/boot/trait/' . '*.php') as $path) { require_once $path; } //Инклудим абстрактные классы foreach (glob(SYSTEM_PATH . '/boot/abstract/' . '*.php') as $path) { require_once $path; } //Инклудим интерфейсы foreach (glob(SYSTEM_PATH . '/boot/interface/' . '*.php') as $path) { require_once $path; } require_once 'library/log.php'; //Устанавливаем отлавливатели ошибок set_error_handler('Boot_Exception::err_handler'); set_exception_handler("Boot_Exception::ex"); register_shutdown_function(function () { $error = error_get_last(); if ($error) { Boot_Exception::err_handler($error['type'], $error['message'], $error['file'], $error['line'], null); } else { Boot::getInstance()->end(); } }); //Загружаем конфиг $this->config(); //Загружаем драйвер БД $this->load_model(); //Устанавливаем путь подключения моделей set_include_path(APPLICATION_PATH); spl_autoload_register(array("Boot", "autoload")); //Загружаем библиотеки $this->load_library(); //Debug $this->debug(PHP_EOL . "Console at " . date("Y-m-d H:i:s O")); if (isset($_SERVER['argv'])) { $this->debug(" File: " . implode(" ", $_SERVER['argv'])); } }
public function __construct($message = null, $code = 500, $error_code = null, Exception $previous = null) { http_response_code($code); if (Boot_Controller::getInstance()->isAjax()) { //Обрабатываем библиотеки, в которых добавлена прослушка на ошибки Boot_Exception::sendLibraryException(new Exception($message, $code, $previous)); echo json_encode(array('error' => $code, 'error_code' => $error_code, 'message' => $message, 'trace' => APPLICATION_ENV == "production" ? "" : $this->getTraceAsString())); } else { throw new Boot_Exception($message, $code, $previous); } exit; }