Почему-то не нашел в оф документации вот эти методы getFileName() и др, тот список что есть в документации совсем другой, что-то я не верно понял, но что именно ?
Подскажи где искать список методов, тех что в уроке?
Создание нового объекта (даже с непубличным конструктором)
->newInstance()
В документации пишут, что если конструктор не публичный, то выбросится исключение ReflectionException. Это все равно можно обойти или я что-то не так понял?
Так я тут и не к нашей сущности обращаюсь.
В $property же находится не наш объект, а объект ReflectionProperty, у которого есть публичное свойство(вернее два публичных свойства - имя свойства(name) и имя класса(class) ).
Если свойство публичное, к нему же можно получить доступ как через геттер(если он есть) так и напрямую?
Почему-то не нашел в оф документации вот эти методы getFileName() и др, тот список что есть в документации совсем другой, что-то я не верно понял, но что именно ?
Подскажи где искать список методов, тех что в уроке?
Ну вот
"Они содержат два свойства - имя свойство и имя класса, в котором оно объявлено."
Исправьте на: имя свойства
))
Спасибо, исправил)
В документации пишут, что если конструктор не публичный, то выбросится исключение ReflectionException. Это все равно можно обойти или я что-то не так понял?
Зачем тут получение свойств через геттер? Свойство name публичное. Разве тут нельзя напрямую к ним обращаться?
Так это не вызов метода нашей сущности. Это вызов геттера у объекта ReflectionProperty. Повнимательнее.
Так я тут и не к нашей сущности обращаюсь.
В $property же находится не наш объект, а объект ReflectionProperty, у которого есть публичное свойство(вернее два публичных свойства - имя свойства(name) и имя класса(class) ).
Если свойство публичное, к нему же можно получить доступ как через геттер(если он есть) так и напрямую?
Есть интерфейс, используйте его)
А пример из урока можно решить другим способом без рефлексии? Или этот случай как раз не входит в большинство?
Ну как-то так, например: https://www.php.net/manual/ru/language.oop5.iterations.php
Только представьте как было бы просто, а главное быстро работать с ассоциативными массивами в этом случае. Вспомнился мемасик про велосипед.
Не знаю такого) мемасик в студию!
Добрый день!
А зачем вообще может потребоваться рефлексия (точнее, когда её применение будет оправданным)?