什么是 PHP Composer,什么是依赖管理器?

6

我正在努力理解Composer是什么以及它的作用。我对此完全不了解,也不知道周围的概念。

以下是我遇到的一些问题:

  • 什么是依赖项?在PHP中意味着什么?
  • Composer作为依赖项管理器是什么意思?
  • 使用Composer或通用的依赖项管理器的主要优点是什么?

1
定义“我被卡住了” - 到底是什么问题,官方文档到底哪里不清楚? - UnholySheep
1
我不太理解它的意思,如果我正在使用cURL,我应该使用它吗? - Mohammad Ghazi Istanboli
curl(一个命令行应用程序)与PHP或Composer有什么关系? - UnholySheep
我现在很困惑,不知道curl是用来从GitHub下载文件的,我在YouTube上看到一个教程,他们使用composer来下载文件,请告诉我两者之间的区别,我已经搜索了很多,但仍然无法理解这两个东西的区别。 - Mohammad Ghazi Istanboli
1
我再重复一遍:官方文档详细解释了Composer是什么。摘录如下:*Composer:
  • 允许您声明所依赖的库。
  • 找出需要安装哪些包的哪些版本,并安装它们(即将它们下载到您的项目中)。*
- UnholySheep
1
仅仅因为这两个程序都能够下载文件,并不意味着它们的预期用途相同。curl 是一个“简单”的命令行应用程序,Composer 是一个用于管理 PHP 项目依赖关系的工具。 - UnholySheep
1个回答

11
请问我为什么要使用Composer以及什么是依赖?
你可以使用Composer来安装其他人编写的库。例如,您正在PHP应用程序中处理日期。您可以使用PHP自带的date函数和DateTime类。然而,您需要在“5分钟前”或“2小时后”等格式下显示一个可读的日期。
因此,您开始开发并意识到您将花费时间在这个功能上。这是一个好功能,但是需要时间去完成它。明智的开发人员会想“某人肯定遇到过与我相同的问题,让我们看看他们如何解决它”,于是你发现了这个库:Carbon
现在,您想使用此库,因为它解决了您的问题。您的选择是从github下载它并手动添加到您的项目中,即将其放置在某个目录中,并包含在您的应用程序中等等。
或者,您可以使用Composer,告诉Composer您想要特定版本的该库。在终端中,您键入: composer require "nesbot/carbon: ~1.21" Composer下载特定版本的库,将其放置在vendor/目录中,并为您提供自动加载器。
对于您来说,这意味着:
- 安装其他开发人员编写的库 - 跟踪您安装的库的版本,并将您的项目锁定到该特定库的版本。 - 您可以获得自动加载器,因此添加库到您的项目很简单,您不必手动输入requireinclude,因为您只需要包含vendor/autoload.php即可访问通过Composer安装的所有库。

由于你很可能在日期、数据库、邮件等方面遇到了问题 - 其他人也遇到了类似的问题,其中一些人足够强大,为我们创建了免费的代码。 Composer 可以帮助你获取那些代码并进行管理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接