dd

Спред-оператор в конструкторе PHP

Написано

в

Сегодня я узнал, что, оказывается, в конструктор классов можно передавать данные через оператор ...
Например, у меня есть класс MailSettings, у него простейший конструктор:

public function __construct(
private readonly string $senderEmail,
private readonly string $senderName,
private readonly string $server,
private readonly string $port,
private readonly string $password,
) {}

В нём хранятся настройки, которые я тяну из файла, получается примерно так:

new MailSettings(
senderEmail: $decodedJson['senderEmail']
...
);

Но что-то мне взбрело в голову попробовать сделать new MailSettings(...$decodedJson)… и оно сработало!
Не помню, чтобы где-то это видел, но штука крайне полезная

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *