composer 和 laravel 服务容器中依赖关系的含义

the meaning of dependencies in composer and laravel service container

我不熟悉作曲家和laravel。

根据指南。

Composer 是 PHP 的依赖管理器。

Laravel 服务容器是管理 class 依赖项和执行依赖项注入的强大工具。

如果 composer 管理依赖项,为什么需要服务容器?他们指的是不同的依赖关系?

提前致谢。

根据 Composer 文档:

作曲家

Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.

根据 Laravel 文档

The Laravel service container is a powerful tool for managing class dependencies and performing dependency injection. Dependency injection is a fancy phrase that essentially means this: class dependencies are "injected" into the class via the constructor or, in some cases, "setter" methods.

参考文献:

https://getcomposer.org/doc/00-intro.md

https://laravel.com/docs/6.x/container

Composer 处理使库的副本在项目中可用。它确保您根据需要指定的库存在于项目中的 vendor 文件夹中。它对您的项目一无所知,也不知道这些库是如何使用的,或者根本不知道。 Composer 会处理您的项目所依赖的库并确保它们可用。

Laravel 服务容器在 运行 时间处理 classes 的实例化。

如果您有一个带有特定 class 类型提示的构造函数参数,服务容器就是为您解析的部分。例如

public function __construct(User $user)
{
    $user;
}

Laravel 服务容器处理 运行 时间依赖性并解析 classes 以便根据需要实例化对象。