@LP-DIMAN

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

Покажите полезный практический пример, пожалуйста
  • Вопрос задан
  • 2165 просмотров
Пригласить эксперта
Ответы на вопрос 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ИмяСвойства. На методы не влияют.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект