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 中的解析器。
我正在学习 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 中的解析器。