У меня есть что-то вроде следующего:
main.php:
spl_autoload_register(function($className) {
require_once $className . '.php';
});
use Example\RandomClass;
include 'anotherFile.php';
anotherFile.php:
RandomClass::example();
Пример/RandomClass.php:
namespace Example;
class RandomClass {
public static function example() {
echo 'example';
}
}
Однако я получаю следующее предупреждение: Warning: require_once(RandomClass.php): failed to open stream: No such file or directory in main.php on line 5
если у меня не use Example\RandomClass.php
в anotherFile.php. Является ли это предполагаемым поведением и как я могу его сделать, чтобы только один раз требовать класс?
Я считаю, что ваша автозагрузка неверна:
require_once $className. '.php';
должно быть
require_once 'Example\'. $className. '.php';
и проверить этот ответ