Сегодня я узнал, что, оказывается, в конструктор классов можно передавать данные через оператор ...Например, у меня есть класс 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)… и оно сработало!
Не помню, чтобы где-то это видел, но штука крайне полезная
Добавить комментарий