Unresolvable dependency resolving [Parameter #0 [ lt;requiredgt; $name ]](无法解析的依赖解析[参数#0 [lt;requiredgt;$名称]])
问题描述
警告:这个问题是 Laravel 4 特有的.
Warning: This question is Laravel 4 specific.
我之前一直在我的控制器中使用 Facades.因此我知道代码正在运行.现在由于各种原因需要引入依赖注入.
I've been using Facades in my controllers before. Therefore I know the code is working. Now I need to introduce dependency injection for various reasons.
重构控制器后出现以下错误:
After refactoring the controller I get following error:
照亮容器BindingResolutionException
Illuminate Container BindingResolutionException
无法解析的依赖解析 [Parameter #0 [ $name ]].
Unresolvable dependency resolving [Parameter #0 [ $name ]].
我不知道问题出在哪里.错误消息对我来说似乎很神秘,我不明白.(我的 __constructor
参数没有任何问题,因为我已经为 HelpersInterface
注册了绑定)
I can't figure out where the problem is. The Error message seems cryptic to me and I don't understand it. (I don't see any problem with my __constructor
parameters since I've registered the binding for the HelpersInterface
)
以下是我的代码的重要部分:
Here are the important parts of my code:
文件:app/start/global.php
文件:composer.json
文件:app/Acme/Controllers/BaseController.php
文件:app/Acme/Services/Helpers.php
文件:app/Acme/Providers/HelpersServiceProvider.php
推荐答案
您的 AcmeServicesHelpers
构造函数似乎带有 $name
参数,但不是类型提示.
It seems your AcmeServicesHelpers
constructor takes a $name
parameter, but is not type hinted.
Laravel 的 IoC 并不神奇.如果您没有为每个参数提供类型提示,则 IoC 容器无法知道要传入什么.
Laravel's IoC is not magic. If your don't provide a type hint for every parameter, the IoC container has no way of knowing what to pass in.
这篇关于无法解析的依赖解析[参数#0 [<required>$名称]]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!