如何清除作曲家php中的所有测试?

前端之家收集整理的这篇文章主要介绍了如何清除作曲家php中的所有测试?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是作曲家发展的新人物.我刚刚开始与我当前的项目中的作曲家合作.而且我认为我的问题在之前已经被问过了,或者我没有关于作曲家的问题:D

每个依赖关系的供应商都有许多测试文件和目录.我只想在将其上传到服务器之前删除这些测试.

有没有任何命令来删除这些测试或者我需要手动删除它什么…? :'(

Is there any command to remove those tests OR I need to remove it manually OR what…? :'(

这是一个有趣的问题.

目前,您作为包消费者无法自动忽略测试.
没有Composer命令在下载供应商后清理所有文件夹.为了解决问题,清理供应商目录作为应用程序构建过程的一部分.它在一个手动选择的文件集的引导过程中运行一个删除,然后上传.这是一个设置步骤,与缓存预热或初始数据库设置相当,用于生产.无聊的工作:(

以前请求并讨论从供应商文件夹中删除测试文件夹(和其他开发内容)的主题,请参见例如Composer Issue #1750#4438.

很多用户想要这个功能,但不幸的是,Composer还没有提供它.我猜,作曲家维护者会合并一个排除文件夹(缩小功能),如果有人投入时间来解决问题.努力建立标准.它也可以创建一个Composer插件来提供这个功能.

这样的功能怎么样呢?

>解决这个问题的一种方法是为文件保留在composer.json文件中生产的一般黑名单/白名单功能.只添加一个排除部分仅解决了这个问题,部分原因在于我的拙见,因为您不能覆盖包中的决定.

>第一个可能会通过遍历所有composer.json文件生成一个要删除文件文件夹的列表来构建一个黑名单.
>那么可以使用主要项目的白名单从黑名单中踢东西(=白名单).这是为了覆盖在取得的包中做出的排除决定.
>最后,在供应商文件夹中使用黑名单进行删除运行.
这意味着拉动供应商包的项目具有完全的控制权.这种方法提供了很大的灵活性:如果一个包提供者列出一个测试文件夹,但是消费开发人员的包需要保留它,则他可以将该包的文件夹列入白名单.但他也不会做任何事情,并与正常的黑名单一起去.

也许也可以尊重包的.gitattributes文件中的导出忽略设置,当获取源而不是Dist时.
>另一种方法是集中在自动加载描述.

Composer在require和autoload旁边提供了require-dev和autoload-dev.这意味着我们在开发和生产阶段之间有明确的分离.请考虑在autoload-dev中定义的require-dev和test命名空间中定义的PHPunit依赖项和测试文件夹.

这使得可以使用自动加载地图并删除Composers“自动加载范围”中未包含的所有文件进行生产.

David Grudl(@dg)用他的方式
Composer Cleaner.

它的实验.做一个备份

关于使用export-ignore指令的.gitattributes文件

是的,这是缩小git档案大小的一种方式,但它从未被PHP社区标准或最佳做法所采纳.

作曲家维护者正在推广其使用(见
alcoholnaderman评论),例如Symfony dropped its usage.

目前没有关于这个问题的最佳做法的明确指导.
所以,我不确定这是一个最佳实践,我们应该真的推广或建议.

它为“Dists”,与作曲家–prefer-dist取得.

即使有些开发人员采用这种做法,很多方法可以使用Composer来获取“Source”,而不是:hg,svn,git source.

原文链接:https://www.f2er.com/php/132133.html

猜你在找的PHP相关文章