use*_*986 6 service-provider laravel laravel-5
我在哪里准确指定我的绑定?我似乎可以在这些文件中的任何一个中执行此操作.
config/app.php
里面'providers' =>
app/Providers/AppServiceProvider.php
里面register()
服务提供者数组通过 加载config/app.php
。这是提供商注册的唯一实际位置,也是您应该放置Service Providers 的位置。
AppServiceProvider
适用于您已覆盖(或实际指定)的 Laravel 特定服务,例如Illuminate\Contracts\Auth\Registrar
HTTP/Console 内核以及您希望在 Laravel 中覆盖的任何内容。这是一个单一服务提供者,用于注册您指定的容器绑定。
实际上,您可以在这里加载任何您想要的内容,但是目录中有一堆现成的服务提供商可供app/Providers
您使用,因此您不必自己去制作一个。
如果您的绑定与App无关,那么我将创建一个新的 ServiceProvider 类,在其中用新绑定覆盖register方法,然后您必须让 Laravel 知道该类在您的config/app.php中注册为 Provider提供商列表,即:
应用程序/Providers/MyNewClassServiceProvider.php
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class MyNewClassServiceProvider extends ServiceProvider {
public function register()
{
$this->app->bind(
'App\Repository\MyNewClassInterface',
'App\Repository\MyNewClassRepository'
);
}
}
Run Code Online (Sandbox Code Playgroud)
配置/应用程序.php
'providers' => [
// Other Service Providers
'App\Providers\MyNewClassServiceProvider',
],
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4162 次 |
最近记录: |