Laravel 8 容器事件
服务容器每次解析对象会触发一个事件,你可以使用 resolving
方法监听这个事件:
$this->app->resolving(function ($object, $app) {
// 当容器解析任何类型的对象时调用...
});
$this->app->resolving(\HelpSpot\API::class, function ($api, $app) {
// 当容器解析类型为 "HelpSpot\API" 的对象时调用...
});
正如你所看到的,被解析的对象将会被传入回调函数,这使得你能够在对象被传给调用者之前给它设置额外的属性。