Вопросы по отражениям, Приватные методы и приватные свойства. Время создания
Primary tabs
После прочтения главы об отражениях из учебника Котерова осталась неясна пара моментов.
- При создании отражения некоторого класса (ReflectionClass), отражения его параметров(ReflectionParameter) и методов (ReflectionMethod) формируются сразу же, автоматически или только при их явном вызове ( например ReflectionClass::getPMethods())?
- С чем связана, такая несколько на мой взгляд странная система наследования свойств и методов в отражениях, при которой метод getMethods() возвращает список всех методов класса, в том числе и закрытых, унаследованных от базового, а метод getProperties() закрытых свойств родительского объекта не наследует?
- Log in to post comments
- 6270 reads
vedro-compota
Tue, 05/08/2018 - 14:07
Permalink
список завершён, или пока ещё
список завершён, или пока ещё редактируется?
_____________
матфак вгу и остальная классика =)
Voronve
Thu, 05/10/2018 - 23:50
Permalink
если вы про список вопросов,
если вы про список вопросов, то завершен
vedro-compota
Fri, 05/11/2018 - 21:51
Permalink
принято, ответ будет.
принято, ответ будет.
_____________
матфак вгу и остальная классика =)
melisa
Wed, 05/16/2018 - 18:24
Permalink
ответ на первый вопрос
http://fkn.ktu10.com/?q=node/10126
melisa
Wed, 05/16/2018 - 20:00
Permalink
насчёт второго вопроса
Вот насчёт второго вопроса, не знаю, что ответить.
Действительно, логично, что приватные свойства не наследуются, поэтому не возвращаются методом getProperties(). А вот почему наследуются приватные методы - не понятно. (данный факт указан в "PHP в подлиннике" Д. Котеров, стр. 577, и проверен на практике :)))
Кстати, вызвать унаследованные приватные методы с помощью метода invoke() не получится :
подробнее см. здесь: http://fkn.ktu10.com/?q=node/10126
Voronve
Wed, 05/16/2018 - 23:06
Permalink
Что ж, воспримем это как ее
Что ж, воспримем это как еще одну данность php )