如何将Laravel服务容器绑定采用哪些方法?

2026-04-01 07:090阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1120个文字,预计阅读时间需要5分钟。

如何将Laravel服务容器绑定采用哪些方法?

绑定基础+几乎所有服务容器绑定均是在服务提供者中完成。在目录结构如下图中注:如果一个类没有基于任何接口,那么就没有必要将其绑定到容器中。容器也不需要告知如何构建对“绑定的依赖。”

绑定基础

几乎所有的服务容器绑定都是在 服务提供者 中完成。

在目录结构如下图

注:如果一个类没有基于任何接口那么就没有必要将其绑定到容器。容器并不需要被告知如何构建对象,因为它会使用 PHP 的反射服务自动解析出具体的对象。

简单的绑定

在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:

$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app->make('HttpClient')); });

注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。

阅读全文

本文共计1120个文字,预计阅读时间需要5分钟。

如何将Laravel服务容器绑定采用哪些方法?

绑定基础+几乎所有服务容器绑定均是在服务提供者中完成。在目录结构如下图中注:如果一个类没有基于任何接口,那么就没有必要将其绑定到容器中。容器也不需要告知如何构建对“绑定的依赖。”

绑定基础

几乎所有的服务容器绑定都是在 服务提供者 中完成。

在目录结构如下图

注:如果一个类没有基于任何接口那么就没有必要将其绑定到容器。容器并不需要被告知如何构建对象,因为它会使用 PHP 的反射服务自动解析出具体的对象。

简单的绑定

在一个服务提供者中,可以通过 $this->app 变量访问容器,然后使用 bind 方法注册一个绑定,该方法需要两个参数,第一个参数是我们想要注册的类名或接口名称,第二个参数是返回类的实例的闭包:

$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app->make('HttpClient')); });

注意到我们将容器本身作为解析器的一个参数,然后我们可以使用该容器来解析我们正在构建的对象的子依赖。

阅读全文