我正在学习Laravel的IoC容器的工作原理。我已经理解了大部分内容,但有一件事让我思考。为什么有些绑定类型以小写开头而其他绑定类型是大写的?
我知道对于大写的,我们可以使用自动/手动解析器来获取类名或接口。小写的怎么样?它们是否意味着只在需要的时候用手解决,像这样?
$this->app->make('something');
或者还有其他用于小写绑定的目的吗?
答案 0 :(得分:1)
它们用作服务的抽象命名或别名。例如,如果您为一个特定的API服务配置了http客户端,则可以为其命名,例如' client.api',并在您的代码中动态解决它。
您可以通过
在任何地方进行app('client.api')
或
$this->app['client.api']
甚至
$this->app->make('client.api');
它只是服务阵列的关键。
它们也被广泛用作Facades中的解析器。