Laravel的新用户 - 供应商目录

时间:2017-04-11 17:00:55

标签: php laravel composer-php

我按照Laravel安装指南中的所有步骤进行操作。

使用Composer,项目在服务器上成功安装并像魅力一样运行。

在安装时,Composer会在供应商目录中添加一些依赖项。

我的问题是:为什么“Hello World项目”存在这么多依赖项。我不明白目录的需求。继承人名单:

  • classpreloader
  • 作曲家
  • d11wtq
  • 的filp
  • ircmaxell
  • jeremeamia
  • laravel
  • 独白
  • nesbot
  • nikic
  • paragonie
  • 拼缝
  • phpseclib
  • predis
  • PSR
  • swiftmailer
  • 交响乐

我来自Zend开发。所以在供应商目录中,我只期待Laravel框架,没有别的。为什么我需要超过4200个第三方脚本文件。

感谢您的回答。

卡尔

1 个答案:

答案 0 :(得分:2)

Laravel具有许多开箱即用的功能,在其他框架中缺少这些功能。我可以理解你认为对于像Hello World项目那样简单的东西有太多的依赖关系,因为你是完全正确的。但Laravel不是在你需要时添加功能,而是在于已经拥有所有功能。这就像比较Arch Linux和Ubuntu。在Arch中,您可以根据需要随时随地安装。 Ubuntu拥有一切开箱即用的功能。

哪个更好是主要是品味问题。

我在新的Laravel项目中运行composer show --tree以查看依赖关系树。现在,从Laravel 5.4.18开始,有4个主要依赖项引入所有其他依赖项。

  1. laravel /框架
  2. laravel /修补匠
  3. fzaninotto /骗子
  4. 的PHPUnit / PHPUnit的
  5. 部署时,许多这些依赖项未被使用,例如phpunit仅用于单元测试或使用Symfony调试条 - 好吧,你猜对了 - 用于调试。

    关于删除依赖项的注释:它们由4个主要依赖项中的一个引入,因此您必须分叉它们并删除未使用的组件或使用它。