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

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

Покажите полезный практический пример, пожалуйста
  • Вопрос задан
  • 2178 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    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ИмяСвойства. На методы не влияют.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽