Задать вопрос
@XXX-prog

Как изменить приватное свойство в PHP?

Сегодня на собеседовании задали вопрос. Как изменить приватное свойство в Классе PHP снаружи?
Кто-нибудь знает ответ? :)
(Сеттера нет)
  • Вопрос задан
  • 758 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
VladimirAndreev
@VladimirAndreev
php web dev
<?php

class AAA {

  private $a = '777';

  function __toString() {

    return \sprintf("%s\n", $this->a);
  }
}


$a = new AAA;

echo $a;

$b = new ReflectionClass(AAA::class);

$property = $b->getProperty('a');
$property->setAccessible(true);
$property->setValue($a, 999);

echo $a;


as@avs:~$ php7.1 /tmp/testReflection.php 
777
999
Ответ написан
DevMan
@DevMan
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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