Laravel - Регистрация декоратора - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь реализовать Decorator Pattern в контейнере Laravel для службы Mailer.Следуя синтаксису этой страницы , а также официальной документации .

Я регистрирую MailerDecorator в AppServiceProvider (что зарегистрировано в app.php config) register метод.

$this->app->extend(Mailer::class, function ($mailer) {
    return new MailerDecorator($mailer);
});

К сожалению, Decorator не зарегистрирован, и приложение все еще использует старую реализацию.

Есть ли способ отладки контейнера?Я что-то упустил?

Спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Класс Laravel Mailer связан с псевдонимом mailer, поэтому вы можете попробовать зарегистрировать Декоратор, используя псевдоним mailer вместо Mailer::class.

$this->app->extend('mailer', function ($mailer) {
    return new MailerDecorator($mailer);
});
...