我已经通过添加它来设置一个监听器EventServiceProvider
protected $subscribe = [
MyListener::class
];
listener( MyListener
) 具有subscribe
订阅侦听器想要侦听的事件的函数 -它工作正常。
现在,我正在尝试添加一个检查来限制应该监听哪些事件。就像是
public function subscribe($events)
{
$config = ConfigService::getUserConfig();
if ($config->shouldSubscribe) {
$events->listen(.....);
}
}
但是,添加此逻辑后我遇到了一些问题。
似乎在运行时composer install
它会执行 subscribe 方法。
这会导致一个问题,因为运行时没有活动会话composer install
- 所以我遇到了一个 SQL 错误 - 它找不到要在哪个数据库中搜索配置 - 然后是这个错误
脚本 @php artisan package:discover 处理返回的 post-autoload-dump 事件,错误代码为 1
如何有条件地订阅侦听器中的某些事件?