PHP spl_autoload_register не находит классы без слешей
Только недавно начал вникать в тему namespace и на use в php. Столкнулся с проблемой с использованием webdriver selenium. Так как мой сервер не позволяет установить composer из за нехватки ресурсов, было принято решение подключать все файлы самому. Нашел тут https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md функцию для подключения всех классов и namespace.
Указал путь к каталогу классов и вроде бы все хорошо.
function libraries($class) {
$class = ltrim($class, '\\');
$file = false;
$namespace = false;
if($string = strrpos($class, '\\')) {
$namespace = substr($class, 0, $string);
$class = substr($class, $string + 1);
$file = ROOT . DS . 'system' . DS . 'libraries' . DS . str_replace('\\', DS, $namespace) . DS;
}
$file .= str_replace('_', DS, $class) . '.php';
require $file;
}
Но при попытке вызвать класс из корневой директории, выбивает ошибку
require(WebDriverExpectedCondition.php): failed to open stream: No such file or directory
То есть тот файл который находится в корневой папки оно не подключает. Те классы которые указаны подобным методом
use WebDriver\Remote\DesiredCapabilities;
use WebDriver\Remote\RemoteWebDriver;
Работают хорошо.
Помогите с решением, как правильно изменить функцию чтобы она читала как корневой каталог так и остальные. Буду рад любой помощи!