Почему ./ не распознается как текущий каталог в моем php-файле?

У меня есть следующая иерархия файлов: Скриншот

и require_once как-то не работает (Warning: require_once (./ AutentificadorJWT.php): не удалось открыть поток: нет такого файла или каталога в C: \ xampp \ htdocs \ clases \ usuario.php в строке 2) Насколько я знайте ./ указывает на текущий каталог. Теперь выполняются следующие действия: require_once 'AutentificadorJWT.php'; Почему ./ не работает?

Может быть довольно сложно узнать, какой каталог является текущим каталогом, когда у вас сложная иерархия кода. Если вы хотите иметь постоянную точку отсчета, вы можете использовать $_SERVER['DOCUMENT_ROOT'] который определяет базу вашего кода на вашем компьютере. Так…

 require_once $_SERVER['DOCUMENT_ROOT'].'/base.php'; 

Будет работать для base.php в корне вашего проекта. Единственная проблема, с которой я столкнулся, заключается в том, что в модульном тестировании не всегда имеется множество переменных $_SERVER .

Кроме того, вы можете использовать __DIR__ который является каталогом текущего файла. Поэтому, если в вашем случае вы изменили его на …

 require_once __DIR__.'/AuthentifacdorJWT.php'; 

Это всегда будет относиться к каталогу файла, с которым вы работаете.