容器绑定创建位置
一般情况下载 app/Providers 下面 新建 AdminDataProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider; // 引入 服务提供者
class AdminDataProvider extends ServiceProvider // 继承服务提供者的类
{
// 注册容器的位置
public function register()
{
}
}
然后在 app/bootstrap/app.php 中注册 该容器
// 引入管理员服务
$app->register(App\Providers\AdminDataProvider::class);
简单的绑定
在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:
$this->app->bind('HelpSpot\API', function ($app) {
return new HelpSpot\API($app->make('HttpClient'));
});
注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。