trevoga_su
@trevoga_su

Как обрабатывать неудавшуюся автоозагрузку согласно PSR-4?

У меня раньше было:
function __autoload($class_name)
{
    $realpath = DOCUMENTROOT_PATH . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';

    if (!file_exists($realpath)) {
        throw new RuntimeException("Автозагрузка: не найден подключаемый файл $realpath");
    }

    require_once $realpath;
}

читаю стандарт:
В реализации автозагрузчика НЕДОПУСТИМО порождать исключения, ошибочные ситуации любого уровня и НЕ СЛЕДУЕТ возвращать какое бы то ни было значение.

ок. получится тогда что то пипа
spl_autoload_register(function($class_name){
	$realpath = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
	
	if (file_exists($realpath)) {
		require_once $realpath;
	}
});

не найдется класс - Fatal error будет. Как бы не устраивает это...
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы