Laravel 服务容器与测试全解析
1. 服务容器基础
在 Laravel 中,服务容器是一个强大的工具,它能帮助我们管理类的依赖和实例化。例如以下代码:
class Baz
{
public function __construct() {}
}
class Foo
{
public function __construct(Bar $bar, Baz $baz) {}
}
$foo = app(Foo::class);
这里,容器可以根据构造函数的类型提示自动解析 Bar 和 Baz 的实例,这种方式被称为自动注入(Autowiring)。自动注入允许容器在不需要开发者显式绑定类的情况下,根据类型提示来解析实例。
在 PHP 中,类型提示(Typehinting)是指在方法签名中,将类或接口的名称放在变量前面,例如:
public function __construct(Logger $logger) {}
这表明传递给该方法的参数必须是 Logger 类型。
自动注入意味着,如果一个类没有显式绑定到容器,但容器能够解析它,那么容器就会进行解析。这包括没有构造函数依赖的类(如 Bar 和 Baz ),以及构造函数依赖可以被容器解析的类(如 Foo )。而对
超级会员免费看
订阅专栏 解锁全文
94

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



