【问题标题】:Load "event subscribers" dynamically in a PackageServiceProvider在 PackageServiceProvider 中动态加载“事件订阅者”
【发布时间】:2019-04-19 15:49:32
【问题描述】:

我正在Laravel 5.4 开发一个应用程序,我的目的是能够在包级别定义不同的侦听器事件订阅者)并能够注册它们在我的PackageServiceProvider 中动态显示。

目前我已经在为一些元素做它,例如 views ($this->loadViewsFrom(...))、migrations ($this->loadMigrationsFrom())、langs ($this->loadTranslationsFrom()) ...

但我无法找到注册我的活动订阅者的方法,而无需手动将它们包含在 App\Providers\EventServiceProvider 中。

有没有一种方法$this->loadEventSubscribersFrom(...) 或类似的方法可以满足我的需要?我在official documentation of laravel on Package Development section 中找不到类似的东西

【问题讨论】:

    标签: php laravel events package


    【解决方案1】:

    好吧,在我的PackageServiceProvider@boot 方法中我可以使用:

    \Event::subscribe(new MyEventSubscriberClass());
    

    而且效果很好。但是...我不知道这是否是一个好的做法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多