如果我有多个模型并且我在事务中工作繁重,那么在我的AppServiceProvider中,我为我的模型创建了一个观察者:
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
User::observe(UserObserver::class);
User2::observe(UserObserver2::class);
User3::observe(UserObserver3::class);
User4::observe(UserObserver4::class);
User5::observe(UserObserver5::class);
User6::observe(UserObserver6::class);
User7::observe(UserObserver7::class);
User8::observe(UserObserver8::class);
User9::observe(UserObserver9::class);
}
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
//
}
}
它会造成一些性能损失吗?如果我正确理解每个应用程序访问的observe method它将遍历我所有的模型观察者方法并将它们与雄辩的事件相匹配,所以如果我有30个模型观察者它会导致糟糕的性能?
是否有一些聪明的方法只在模型使用时声明了观察类?因此,即使不需要,每个模型只有在使用它时才会知道它的观察者,而不是在每个app访问中声明观察者?