laravel - 我应该在服务提供者还是在模型中注册模型观察者?
问题描述
有两种注册模型观察者的方法 -
方法一:AppServiceProvider
public function boot()
{
CourseTag::observe(CourseTagObserver::class);
}
方法 2:模型本身
public static function boot()
{
parent::boot();
parent::observe(new CourseTagObserver);
}
我不确定何时使用方法 1 以及何时使用方法 2 ??
解决方案
我通常会使用文档中概述的方法,但任何一种方式都可以正常工作。这取决于您的个人喜好。
要注册观察者,请在您希望观察的模型上使用观察方法。您可以在您的服务提供商之一的引导方法中注册观察者。在本例中,我们将在 AppServiceProvider 中注册观察者:
public function boot()
{
User::observe(UserObserver::class);
}
推荐阅读
- c# - 置换特征重要性(PFI)和特征贡献计算(FCC)之间有什么区别/关系?
- c# - 添加迁移错误:没有为此 DbContext 配置数据库提供程序
- spring-boot - 访问 Fat Jar 中的 JSP 文件
- css - webkit重叠故障的解决方法
- c# - AppBarButton 在 UWP C# 项目中更改图标和标签后失去功能
- c - 如何停止用替换字符替换字符??
- bash - 如何按时间而不是按大小对 shell 脚本输入进行分块?
- javascript - 多个 Ace Editor 内容仅返回一行
- swift - 快速读写firestore文档和集合
- c# - ASP.NET Core - 有什么理由不使用带有依赖注入的参数对象?