对Composer

时间:2016-05-28 18:09:43

标签: php composer-php dependency-management

我正在设置一个可安装作曲家的存储库。我阅读了Composer文档,并按照说明成功设置了我的存储库。我对requirerequire-dev之间区别的理解是require-dev用于声明依赖关系,这对于存储库正常工作不是必需的。

但是,我在Github上看了一些库的composer.json,比如Zend FormRespect Validation,并且在这两个存储库中,有些软件包需要这些存储库才能正常工作,列在require-dev中。例如,egulias/email-validator依赖关系列在require-dev的Respect Validation中,但在this file上,需要此依赖关系才能使Email Validator正常工作。那么,为什么这种依赖关系没有列在require

zendframework/zend-captcha也是如此,Captcha element的作用是必需的。

1 个答案:

答案 0 :(得分:1)

  

此依赖关系是电子邮件验证程序工作所必需的。

不是。您可以看到Egulias\EmailValidator\EmailValidator具有egulias/email-validator的可选依赖项。如果提供了int add1(int &n){ // n is a reference variable n++; return n; } ,那么该类将use it,否则它将回退到filter_var。该课程将以任何方式运作。包可以做的是suggest你要安装它。