<learndojo />
← Продвинутые возможности PHP
Выбрать правильный код1 баллов

Что делает __set()?

Что выведет присваивание $person->name = bob?

<?php
class Person
{
    private ?string $name = null;

    public function __set(string $property, mixed $value): void
    {
        $method = 'set' . ucfirst($property);
        if (method_exists($this, $method)) {
            $this->$method($value);
        }
    }

    public function setName(?string $name): void
    {
        $this->name = strtoupper($name);
    }

    public function getName(): ?string
    {
        return $this->name;
    }
}

$person = new Person();
$person->name = 'bob';
echo $person->getName();
Подсказки
  • __set() маршрутизирует присваивание в setName().
Что проверяет это задание

__set() маршрутизирует присваивание в setName().