Laravel 服务容器与测试全解析
1. 服务容器基础
1.1 自动注入(Autowiring)
在 Laravel 中,服务容器能够根据类型提示(Typehint)自动解析类的依赖。例如以下代码:
class Baz
{
public function __construct() {}
}
class Foo
{
public function __construct(Bar $bar, Baz $baz) {}
}
$foo = app(Foo::class);
这里的 Bar 和 Baz 依赖很简单,容器可以根据构造函数中的类型提示自动解析并注入到 Foo 实例中,这就是自动注入。
1.2 类型提示(Typehinting)
在 PHP 里,类型提示是指在方法签名的变量前加上类或接口的名称,如:
public function __construct(Logger $logger) {}
这表明传入该方法的参数必须是 Logger 类型,它可以是接口也可以是类。
1.3 自动注入的原理
如果一个类没有在容器中显式绑定,但容器能根据类型提示解析它,容器就会进行解析。像没有构造函数依赖的类(如 Bar 和
超级会员免费看
订阅专栏 解锁全文
106

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



