如何将Laravel服务容器绑定采用哪些方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1120个文字,预计阅读时间需要5分钟。
绑定基础+几乎所有服务容器绑定均是在服务提供者中完成。在目录结构如下图中注:如果一个类没有基于任何接口,那么就没有必要将其绑定到容器中。容器也不需要告知如何构建对“绑定的依赖。”
绑定基础
几乎所有的服务容器绑定都是在 服务提供者 中完成。
在目录结构如下图
注:如果一个类没有基于任何接口那么就没有必要将其绑定到容器。容器并不需要被告知如何构建对象,因为它会使用 PHP 的反射服务自动解析出具体的对象。
简单的绑定
在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:
$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app->make('HttpClient')); });
注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。
本文共计1120个文字,预计阅读时间需要5分钟。
绑定基础+几乎所有服务容器绑定均是在服务提供者中完成。在目录结构如下图中注:如果一个类没有基于任何接口,那么就没有必要将其绑定到容器中。容器也不需要告知如何构建对“绑定的依赖。”
绑定基础
几乎所有的服务容器绑定都是在 服务提供者 中完成。
在目录结构如下图
注:如果一个类没有基于任何接口那么就没有必要将其绑定到容器。容器并不需要被告知如何构建对象,因为它会使用 PHP 的反射服务自动解析出具体的对象。
简单的绑定
在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:
$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app->make('HttpClient')); });
注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。

