LINUX.ORG.RU

PHP и константа __DIR__

 


0

1

Приветствую. Суть вот в чем:

1) Имеются классы «A» и «B».

2) Файл с «A» лежит в корне, а файл с «B» лежит в каталоге classes.

3) «A» расширяет класс «B».

4) В классе «B» есть конструктор, который содержит вывод константы __DIR__.

Т.к. в классе «A» отсутствует конструктор, наследуется конструктор от класса B, но, выводит:

/var/www/classes
Вместо:
/var/www/

Почему так происходит? Что происходит если конструктор не переопределен в классе A? Просто вызывается конструктор родителя? Если это так, то каким образом я могу получать значение константы __DIR__ текущего файла? Спасибо!

★★

Последнее исправление: Razip (всего исправлений: 3)

Всё логично. Метод в классе B. В каком директории находится класс, в такой путь и будет содержать константа.

Считывай значение __DIR__ в A классе, делов-то.

Kilte ★★★★★
()
Ответ на: комментарий от Kilte

Т.е., при отсутствии конструтора в классе «A», будет вызван конструктор класса «B»? Тогда действительно логично.

Получать значение __DIR__ в классе «A» — переопределять конструктор расширяемого класса «B» (и таких «B» много). А я ведь хотел избавить себя от этого. Действительно нет никаких выходов?

Razip ★★
() автор топика
Последнее исправление: Razip (всего исправлений: 1)
Ответ на: комментарий от Razip

Ну можешь попробовать через get_class() и reflection намутить что-нибудь. Не уверен, что получится, но думаю, что должно.

Kilte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.