Получи случайную криптовалюту за регистрацию!

Единственный правильный способ прокинуть логгер Что не так | Пых

Единственный правильный способ прокинуть логгер

Что не так с LoggerAware* костылями:

• LoggerAwareInterface делает дыру в сервисе методом setLogger. Да и как контракт он абсолютно бесполезен.

• В LoggerAwareTrait свойство logger, что бы ни говорил phpdoc, имеет значение по умолчанию null и, соответственно, nullable тип. Значит его либо нужно всегда проверять if ($this->logger !== null), либо как в сниппете инициализировать в конструкторе пустым логгером, только уже не в качестве фоллбэка, а превентивно. В любом случае код получится более сложным и менее очевидным.

PSR-3 я также комментировал в среду на стриме про трейты: