我可以在 Laravel 5 中为自动注入输入提示依赖项的哪个 类?
Which classes can I type-hint dependencies for automatic injection in Laravel 5?
Laravel 的服务容器有一个非常棒的自动注入功能,允许你在 class 构造函数中类型提示依赖项(如果 none 提供)。我尝试在 Eloquent 模型的构造函数中执行此操作,但失败了。经过一番搜索,我意识到只有某些classes会被服务容器读取。根据 5.3 docs
Alternatively, and importantly, you may simply "type-hint" the dependency in the constructor of a class that is resolved by the container, including controllers, event listeners, queue jobs, middleware, and more.
最后一个 "and more" 让我很好奇 - 有谁知道完整的 class 列表,您可以在其中输入 Laravel 中的依赖项提示?
有问题的句子是框架将通过 IoC 容器解析或通过 IoC 容器调用方法(方法注入)的 classes 列表的重要部分。 'and more' 只是意味着他们没有列出所有可能的 class 类型。通过文档,您可以找到其他提到 IoC 容器的页面,这些容器用于解析特定类型的 class/call 方法。 (例如 Artisan 命令和服务提供商)。您与之互动最多的对象记录在相应的 pages/sections.
中
如果不通过框架的容器调用,我会说从 through-out 文档中收集列表可能就是关于它的。
classes 列表有点像您的代码和框架本身之间的连接点。为了让您轻松拥有所需的依赖项,容器 resolved/called 提供了这些依赖项。由于此过程是递归的,因此这为所有 classes 解决提供了注入。
关于一般解决:
任何 class 如果不依赖于接口,都可以从容器中解析而无需任何绑定。
要为您注入依赖项,必须使用 IoC 容器来执行 resolving/calling。
递归解决依赖关系。
Laravel 的服务容器有一个非常棒的自动注入功能,允许你在 class 构造函数中类型提示依赖项(如果 none 提供)。我尝试在 Eloquent 模型的构造函数中执行此操作,但失败了。经过一番搜索,我意识到只有某些classes会被服务容器读取。根据 5.3 docs
Alternatively, and importantly, you may simply "type-hint" the dependency in the constructor of a class that is resolved by the container, including controllers, event listeners, queue jobs, middleware, and more.
最后一个 "and more" 让我很好奇 - 有谁知道完整的 class 列表,您可以在其中输入 Laravel 中的依赖项提示?
有问题的句子是框架将通过 IoC 容器解析或通过 IoC 容器调用方法(方法注入)的 classes 列表的重要部分。 'and more' 只是意味着他们没有列出所有可能的 class 类型。通过文档,您可以找到其他提到 IoC 容器的页面,这些容器用于解析特定类型的 class/call 方法。 (例如 Artisan 命令和服务提供商)。您与之互动最多的对象记录在相应的 pages/sections.
中如果不通过框架的容器调用,我会说从 through-out 文档中收集列表可能就是关于它的。
classes 列表有点像您的代码和框架本身之间的连接点。为了让您轻松拥有所需的依赖项,容器 resolved/called 提供了这些依赖项。由于此过程是递归的,因此这为所有 classes 解决提供了注入。
关于一般解决:
任何 class 如果不依赖于接口,都可以从容器中解析而无需任何绑定。
要为您注入依赖项,必须使用 IoC 容器来执行 resolving/calling。
递归解决依赖关系。