Backslash (обратная косая)
\
в путях к файлам используется, в основном, в виндовс. На линуксе это не прокатит. К счастью винда почти везде понимает и обычный слеш, так что можно писать
d:/penServer/domains/bk/views/footer.php
. Если хотите быть увереным в том, что путь будет правильным на любой платформе, используйте
DIRECTORY_SEPARATOR
.
Вы можете указывать пути или относительно текущего файла (
__DIR__
), как у вас в примере, или относительно корня сайта (
$_SERVER['DOCUMENT_ROOT']
), или относительно какой-то папки, путь к которой вынесен в конфиг.
А классы так подключать - вообще моветон. Почитайте про
автолоадеры, например.
Примеры применения:
1. Допустим, сейчас исполняется файл
D:/OpenServer/dummysite/index.php
И мы хотим подключить файл
D:/OpenServer/dummysite/templates/footer.php
Тогда можно написать так:
require __DIR__ . '/templates/footer.php'
1. Допустим, сейчас исполняется файл
D:/OpenServer/dummysite/admin/index.php
И мы хотим подключить файл
D:/OpenServer/dummysite/templates/footer.php
Тогда путь из первого примера будет ссылаться на
D:/OpenServer/dummysite/admin/templates/footer.php
Чтобы это исправить, придется писать
require __DIR__ . '/../templates/footer.php'
Или
require $_SERVER['DOCUMENT_ROOT'] . '/templates/footer.php'
Еще универсальнее:
require $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'templates' . DIRECTORY_SEPARATOR . 'footer.php'