21、Laravel容器绑定与测试全解析

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)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值