Задать вопрос
@LP-DIMAN

Для чего нужны магические методы get и set в PHP?

Покажите полезный практический пример, пожалуйста
  • Вопрос задан
  • 2177 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
class foo
{
    protected $bar = 'qwerty';
    
    public function __get($name)
    {
        if ('bar' === $name) return $this->bar;
        return 'not found';
    }

    public function __set($property, $value)
    {
        if ('bar' === $property) $this->bar = $value;
    }
}

$f = new foo();
echo $f->bar; // qwerty
echo $f->asd; // not found
$f->bar = 'zxc';
echo $f->bar; // zxc
Ответ написан
Комментировать
@square
Это из области метапрограммирования, довольно очевидный пример - возможность конструировать объекты у которых будут свойства и методы, которые не известны заранее, например генерация объекта по его wsdl-описанию, RPC и т.д.
Ответ написан
Комментировать
He11ion
@He11ion
PHP-monkey
В основном нужны для проверок на доступ/валидность/етс свойств класса, позволяют ограничить запись/чтение. Так же с успехом заменяются функциями getИмяСвойства. На методы не влияют.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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