/** * Получение пути к файлу шаблона * @param string $tpl * @return string * @throws \Exception */ public function getPath($tpl) : string { if (file_exists($tpl)) { return $tpl; } elseif (file_exists($this->setting['master_dir'] . '/' . $tpl)) { return $this->setting['master_dir'] . '/' . $tpl; } elseif (file_exists($this->setting['slave_dir'] . '/' . $tpl)) { return $this->setting['slave_dir'] . '/' . $tpl; } else { throw new \Exception($this->Translate->get('Запрашиваемый шаблон не существует', $this->config['language_dir'] . '/' . $this->setting['language'] . '.ini')); } }
<?php /** * Обработчики ошибок * @author Алексей Арх * @var $e ErrorException */ if (ERROR_HANDLER) { set_error_handler(function ($severity, $message, $filename, $line) { if (!(error_reporting() & $severity)) { return; } if (ERROR_TRANSLATE) { $translate = \arh\translate\Translate::get($message, ROOT_DIR . '/translate/error/' . LANGUAGE . '.ini'); if ($message !== $translate) { $message .= '<br>' . $translate; } } throw new ErrorException($message, 0, $severity, $filename, $line); }); } set_exception_handler(function ($e) { $title = $e->getMessage(); if ($e instanceof ErrorException) { $message = ''; } else { if (EXCEPTION_HANDLER_LOG) { error_log(get_class($e) . ': ' . $e->getMessage() . PHP_EOL . $e->getTraceAsString(), 0); } $message = $e->getFile() . ' - ' . $e->getLine(); }