我阅读了有关Laravel服务提供商和容器的文章.我知道Service Provider是一种组织服务对象绑定到IoC的方法,在您的应用程序相当大时非常有用.
但后来我在准备好的服务提供程序文件夹中查找并看到了这个AppServiceProvider提供程序和注册方法,如果它:
public function register()
{
$this->app->bind(
'Illuminate\Contracts\Auth\Registrar',
'App\Services\Registrar'
);
}
Run Code Online (Sandbox Code Playgroud)
为什么他们将命名空间绑定到IoC,当你App::make无论如何都可以在没有绑定这些命名空间的情况下获取它?在我看到这段代码之前,我认为我理解了这项业务的运作方式.
他们为什么这样做?谢谢!