【发布时间】:2020-10-12 22:57:12
【问题描述】:
我制作了一个存储库模式应用程序,具有存储库和界面:
class UserRepository extends EloquentRepository implements UserRepositoryInterface
{
public function __construct()
{
$this->model = new User();
}
...
}
存储库和接口以及扩展类及其接口在服务提供者中注册,并在应用启动时调用。
我的问题是:
- 是否需要注意注册顺序?例如,
EloquentRepository类是否应该在 repo,还是 Laravel 自己处理? - 如果我在控制器中注入
UserRepositoryInterface,即使我没有真正新建一个类,构造函数方法是否也会自动调用? - DI 注入“存活”多长时间?如果我将它注入到调用其他控制器并需要相同依赖项的页面控制器中,构造函数是否会调用两次,并在每个控制器中单独操作?
- 如果我将其称为
App::make()而不是 DI 有区别吗?
【问题讨论】:
标签: php laravel dependency-injection