require
(и include
) работает по-разному, если вы указываете путь и уже находитесь во включаемом файле.
Без указанного пути он сначала просматривается в пути включения (т. Е.предварительно заданный список мест, где могут быть включаемые файлы), затем в пути к исходному скрипту, который был запущен, и, если он не находит его там, он ищет путь к текущему файлу (то есть тот, которыйфактически выполняет включение).
Однако, если вы укажете путь, он пропускает первую часть и смотрит только на путь относительно исходного сценария.
Поэтому, если вы говорите include('ModuleTest.php');
, он будет искать больше мест, чем если бы вы сказали include('./ModuleTest.php');
.
См. страницу документации для include () , чтобы точно узнать, что происходит.
Это может сбивать с толку, и лучший совет - сохранить структуру вашего пути как можно более простой в управлении.