Laravel 容器绑定名称:大写与小写

Laravel container binding names: uppercase vs. lowercase

我正在学习 Laravel 的 IoC 容器是如何工作的。我已经理解了其中的大部分内容,但有一件事让我思考。为什么有些绑定类型以小写字母开头,而另一些则以大写字母开头?

我知道对于大写字母,我们可以对 类 名称或接口使用 automatic/manual 解析器。小写的怎么样?它们是否意味着只在需要时手动解决,就像这样?

$this->app->make('something');

或者还有其他使用小写绑定的目的吗?

它们用作服务的抽象命名或别名。例如,如果您为一个特定的 API 服务配置了一个 http 客户端,您可以命名它,例如'client.api',并在您的代码中动态解析它。

你可以通过

随时随地进行
app('client.api')

$this->app['client.api']

甚至

$this->app->make('client.api');

它只是服务数组的一个键。

它们还被广泛用作 Facades 中的解析器。