Извините за возможное повторение вопроса. Но трудно использовать это запутанное ключевое слово для поиска ответа.
Итак, вот сценарий:
Я пытаюсь получить совет, чтобы сделать мой простой автозагрузчик. Вот что я сделал до сих пор:
private function getAutoInclude($classfile) {
$classfileLower = strtolower($classfile);
if (isset($this->configs['Paths']['base.'.$classfileLower])) { // Use path scope to locate file first
return require_once($this->configs['Paths']['base.'.$classfileLower]['Path']);
} elseif ($this->configs['LibRoot'] && strpos($classfile, '\\') !== false) { // If above not work, use namespace to locate file
return require_once($this->configs['LibRoot'] . DIRECTORY_SEPARATOR . str_replace(array('\\', '/', '_'), DIRECTORY_SEPARATOR, ltrim($classfile, '\\')) . '.php');
}
return false;
}
Пока это работает хорошо, но единственное, что меня смущает, это то, что некоторые люди говорят мне, что я должен выполнить проверку file_exists для файла, который я включаю, чтобы я мог включать его безопаснее И быстрее.
Итак, учтите, что файл, который я хочу включить, должен быть там каждый раз, когда я его включаю, действительно ли мне придется использовать file_exists в этом сценарии или нет?
(Я знаю этот вопрос так же, как его задавал новичок. Но когда я услышал, как люди говорят, что если file_exists может ускорить включение файлов, это сломало некоторые мои знания о PHP.)