Делегирование через __call()
Что выведет делегирование Writer?
<?php
class Writer
{
public function writeName(Person $person): string
{
return $person->getName();
}
}
class Person
{
public function __construct(private Writer $writer) {}
public function __call(string $method, array $args): mixed
{
return method_exists($this->writer, $method)
? $this->writer->$method($this)
: null;
}
public function getName(): string
{
return 'Alice';
}
}
echo (new Person(new Writer()))->writeName();
Подсказки
- __call() передаёт неизвестный вызов объекту Writer.
Что проверяет это задание
__call() передаёт неизвестный вызов объекту Writer.