Я ломаю голову над ООП и пространством имен, и я думаю, что это мешает моему пониманию абсолютных и относительных путей. Учитывая следующий простой каталог:
X +
A +
B +
FileC
FileB
В файле B есть класс, который содержит вызов file_exists($this->filepath)
в своем конструкторе. Он ищет FileC
в каталоге B
, который находится в том же каталоге, что и FileB
.
$filepath, который, как я предполагал, будет работать, это B/FileC
, но он возвращает false. Затем я попробовал ../B/FileC
тоже ложь. Затем я пытаюсь ..A/B/FileC
. Опять ложь. Мне нужно выйти на X
, чтобы узнать правду: ../X/A/B/FileC
Очевидно, мое понимание здесь отсутствует. Я на 80% уверен, что пространство имен не имеет отношения к file_exists
. Итак, мое следующее предположение: влияет ли вызывающий объект на реальный путь к файлу? Это означает, что если класс FileB создается из класса, определенного в другой папке в том же каталоге, что и A
, определяет ли этот класс относительный путь?
Извините за вопрос новичка.