【问题标题】:Composer, the Autoloader, and VCSComposer、Autoloader 和 VCS
【发布时间】:2015-01-10 02:37:54
【问题描述】:

关于 VENDOR 目录的内容,Composer 的FAQs(以及文档中的其他地方)声明:

应将供应商目录(或安装依赖项的位置)添加到 .gitignore/svn:ignore/etc。

我正在将 Composer 和 PHPUnit 依赖项引入一个不符合任何 PSR 标准的项目中,所以看起来我需要从类映射开始。

虽然我很清楚忽略 VENDOR 目录,但我不清楚是否也应该排除 autoload.php 文件。

在我使用 Composer 和 PHPUnit 完成的一些实验中,如果不使用 autoload.php 作为 PHPUnit 的引导文件,我没有运行任何测试,而且我确信整个这个公认的混乱项目中的其他代码会用它。所以对我来说,我需要保留它是有道理的,但我不知道该放在哪里。

那么我说的对吗?如果我在 VCS 中包含 autoload.php 文件以便在其他地方使用它,我需要移动它吗?如果是这样,在哪里,如果我在考虑 PSR 合规性的情况下查看此问题?

我主要是一名 .NET 开发人员,请保持温和。

谢谢。

【问题讨论】:

    标签: php composer-php autoloader


    【解决方案1】:

    虽然我很清楚忽略 VENDOR 目录,但我不清楚是否也应该排除 autoload.php 文件。

    确实应该忽略 Composer 的 autoload.php 文件,因为它是 vendor 目录的一部分。它作为composer install / composer update 进程的一部分自动生成。

    【讨论】:

    • 我明白了,谢谢 - 大概是因为当另一个开发人员对源控制的 json/lock 文件运行“composer update”时,将创建类映射和其他依赖项,随后进行新的自动加载。 php 文件?
    • 标记为答案,谢谢 - 但作为后续行动 - 如果自动加载文件被设置为 PHPUnit 的引导程序,并且它被排除在 VCS 之外,那么你建议我们在执行测试时如何管理它远程开发机器?
    • 您需要安装依赖项才能运行测试套件,因为您的代码可能正在使用这些依赖项。所以 autoload.php 文件已经被 composer 生成了。
    猜你喜欢
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2015-02-17
    • 2016-05-18
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多