Задать вопрос
sorry_i_noob
@sorry_i_noob

Возможно ли в PHP получить приватные свойства объекта (Кажется, через reflection только свойства класса. Но я ведь могу добавить объекту свойство)?

Здравствуйте.
Есть такой код:
$shop_settings->new_field = [
    'value_shop_settings_1',
    'value_shop_settings_2',
    [4, 5, 6]
];
$reflect = new ReflectionClass($shop_settings);
$props   = $reflect->getProperties();

Этот код возвращает свойства класса. Но не свойства объекта. Например, new_field он не получит.

Как в добавок к этому получить свойства объекта? Чтобы еще и new_field получить.
  • Вопрос задан
  • 192 просмотра
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Решения вопроса 1
DevMan
@DevMan
new_field не приватное, его итак получить можно.
и да, можно через рефлексию получать свойства объекта.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
xEpozZ
@xEpozZ
Веб-разработчик
Ответ написан
Комментировать
Я думаю вам нужно вот это. https://www.php.net/manual/en/class.reflectionobje...
Принцип работы тот же самый, но разбирает объект.
Ответ написан
Комментировать
php666
@php666
PHP-макака
Если вы задаете такие вопросы, то тут однозначно - совершенно кривая архитектура, которая требует рефакторинг. В здоровом коде нет необходимости удалять гланды через зад.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы