阅读(3828) (13)

Laravel 8 容器事件

2021-06-23 10:30:45 更新

服务容器每次解析对象会触发一个事件,你可以使用 resolving 方法监听这个事件:

$this->app->resolving(function ($object, $app) {
    // 当容器解析任何类型的对象时调用...
});

$this->app->resolving(\HelpSpot\API::class, function ($api, $app) {
    // 当容器解析类型为 "HelpSpot\API" 的对象时调用...
});

正如你所看到的,被解析的对象将会被传入回调函数,这使得你能够在对象被传给调用者之前给它设置额外的属性。