【发布时间】:2017-09-04 10:53:56
【问题描述】:
我正在阅读/学习 Composer,它是 PHP 的应用程序级包管理器。
在首席开发人员 Jordi Boggiano 撰写的 blog post 中,他写道:
另一方面,Composer 会强制您声明您的项目 一站式位置(根目录下的composer.json)中的依赖项。你 只需检查代码,安装依赖项,它们将位于 项目目录,不干扰机器上的其他任何东西。 另一个相关功能是生成的 composer.lock 文件 当您安装或更新依赖项时。它存储确切的版本 使用的每个依赖项。如果你提交它,任何人检查 出项目将能够安装完全相同的版本 您上次更新该文件时所做的,避免了由于 不同版本中的轻微不兼容或回归 依赖。
如果我正确理解 Composer,当我们谈论 Composer 下载/安装的包时,我们谈论的是 PHP 代码包,即 用 PHP 编写的编程代码,而不是系统级包,例如,对安装在服务器上的 PHP 运行时的扩展。因此,一旦这些 PHP 代码包被下载并添加到 PHP 项目中,我会认为这些包成为 PHP 应用程序源代码的一部分,例如,将被检入到项目使用的任何版本控制系统中。如果另一个开发人员出现并检查代码,那么他们为什么需要“安装软件包”,如博客文章中所述?当他们从源代码管理中签出代码时,他们不会得到所有代码包的副本吗?博文中的这一行让我很困惑,让我觉得我不懂 Composer。
对此的任何澄清将不胜感激。谢谢。
【问题讨论】:
标签: php composer-php