Laravel容器绑定与测试全解析
一、Laravel容器绑定
在Laravel中,将类绑定到容器本质上是告诉容器:“如果开发者请求一个 Logger 实例,那么应该运行这段代码来使用正确的参数和依赖项实例化一个 Logger ,并正确返回它”。
1. 绑定到闭包
绑定到容器的合适位置是在服务提供者的 register() 方法中。以下是一个基本的容器绑定示例:
// In service provider
public function register()
{
$this->app->bind(Logger::class, function ($app) {
return new Logger('\log\path\here', 'error');
});
}
这里有几个要点需要注意:
- $this->app->bind() 用于将类绑定到容器, $this->app 是每个服务提供者都可访问的容器实例。
- bind() 方法的第一个参数是绑定的“键”,通常是类的完全限定类名(FQCN)。
- 第二个参数根据具体情况而定,但本质上应该是一个能告诉容器如何解析该绑定键实例的东西。在上述示例中,我们传递了一个闭包。每次调用 app(Logger::class) 时
超级会员免费看
订阅专栏 解锁全文
163

被折叠的 条评论
为什么被折叠?



