Промежуточное ПО до внедрения модели - PullRequest
0 голосов
/ 16 мая 2018

У меня есть сомнение в дизайне, которым я хотел бы поделиться.

У меня есть модель в Laravel с Наблюдателем в восстановлено :

class MailingObserver
{
    public function retrieved($mailing)
    {
      // we retrieve HTML content from disk file        
      $mailing->setAttribute('content', \Illuminate\Support\Facades\Storage::disk('mailings')->get("{$mailing->id}-{$mailing->slug}.html"));
      $mailing->syncOriginal();
    }
}

, которое извлекаетатрибут хранится в виде простого текста вместо базы данных.

Сайт представляет собой мультибрендовую платформу, поэтому диск («почтовые рассылки») отличается для каждого зарегистрированного пользователя.Эта конфигурация загружается в промежуточное ПО в соответствии с текущим зарегистрированным пользователем.

До этого все в порядке.

Теперь «проблема».У меня есть контроллер, который внедряет сущностьДиск 1024 * все еще не настроен.

Я не знаю, как изменить этот порядок: сначала выполнить middleare, затем инъекцию модели.

Один подход

Я попытался в AppServiceProvider добавить:

class AppServiceProvider extends ServiceProvider
{

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {   
        $middleware = new \App\Http\Middleware\CheckBrandHost();
        $middleware->setBrandInformation(request());
        $middleware->loadBrandConfig(request()->get('brand.code_name'));
    }

Вы бы одобрили это решение?Какие проблемы могут вызвать у меня это?Это правильный способ сделать это?

Спасибо всем!

...