Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该用GIT发送我的composer供应商目录吗_Php_Github_Phpunit_Composer Php_Vendor - Fatal编程技术网

Php 我应该用GIT发送我的composer供应商目录吗

Php 我应该用GIT发送我的composer供应商目录吗,php,github,phpunit,composer-php,vendor,Php,Github,Phpunit,Composer Php,Vendor,我想使用composer为我的单元测试生成的自动加载程序来自动加载类 现在我不知道我是否应该将我的供应商目录提交给我的git repo。专业的做法是,每个立即克隆我的回购协议的人都可以运行phpUnit测试。一个缺点是我在回购协议中附带了很多专有代码 我是否应该坚持克隆我的repo的用户必须首先运行composer install,因此必须“安装”composer 不将供应商目录提交到我的git repo中,而是将其打包到发布分支中,这样我的应用程序就可以开箱即用,这是一种解决方案吗?问题是忽略

我想使用composer为我的单元测试生成的自动加载程序来自动加载类

现在我不知道我是否应该将我的供应商目录提交给我的git repo。专业的做法是,每个立即克隆我的回购协议的人都可以运行phpUnit测试。一个缺点是我在回购协议中附带了很多专有代码

我是否应该坚持克隆我的repo的用户必须首先运行
composer install
,因此必须“安装”composer

不将供应商目录提交到我的git repo中,而是将其打包到发布分支中,这样我的应用程序就可以开箱即用,这是一种解决方案吗?

问题是忽略
供应商/

提示:如果您在项目中使用git,您可能需要将
供应商
添加到您的
.gitignore
中。您确实不想将所有这些代码添加到存储库中


请确保同时包含
composer.json
composer.lock
文件。

不要发货,每个人都应该使用composer安装。这解决了它们的依赖关系,您无法预测它们。因此,即使我没有随repo一起提供
供应商
目录,我是否应该链接到我的
phpunit.xml
中的
供应商/autoload.php
?顺便说一句,对落选的选民:我讨厌开车经过落选的选票!请至少留下一条评论,为什么我的问题有问题。你可以这样做,不用担心。对于code composer的首次推出,安装是必需的,因此类将在那里。您甚至可能应该在composer.json文件中包含PHPUnit作为开发依赖项。如果您不这样做,您将默默地假设,无论谁想要运行您的测试,都将安装PHPUnit。这与假设安装了Composer完全相同。如果Composer在您需要部署时不可用,该怎么办?如果它被破解,恶意代码进入库怎么办?@Meglio,编写人员建议在部署时让它可用。但是如果你因为某种原因不能做到,你就必须以其他方式获得依赖关系。请阅读。我真的不确定你的“破解和恶意代码”评论在这里的相关性。你担心在生产和开发中使用不同版本的库吗?在公共存储库中发现恶意代码的情况时有发生,CDN资源等。在部署时依赖第三方资源从中获取代码片段可能会违反各种合规性。Re“compose unavailable”,我的意思是存储库本身处于脱机状态——这只是另一个风险。@Meglio,没有人告诉你你无法跟踪你的
供应商/
目录。是的,就像几乎所有的科技选择一样,存在着权衡。我只是简单地告诉你这个项目的官方建议。这就是Composer的设计用途。(非官方的建议在这里是离题的,因为它们主要是基于意见的。)在任何情况下,大多数依赖关系管理器,包括Composer,都内置了完整性检查。看看
composer.lock
:它列出了确切的版本和校验和。例如,请看。@Meglio,这是解释问题并保持话题的唯一方法。但看起来你是在试图找到一些巩固你地位的东西,而不是学习一些东西。在这里争论会适得其反。如果您想建议其他解决方案,请随意添加您自己的答案。如果你这样做,请花时间考虑,并描述你的战略的缺点,而不仅仅是利益。再次,这一决定有权衡,重要的是要考虑它们。