Laravel的新用户 - 供应商目录

Seq*_*com 6 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个第三方脚本文件.

谢谢回答.

卡尔

mnm*_*nme 3

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

\n\n

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

\n\n

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

\n\n
    \n
  1. Laravel/框架
  2. \n
  3. Laravel/修补匠
  4. \n
  5. 弗扎尼诺托/faker
  6. \n
  7. phpunit/phpunit
  8. \n
\n\n

其中许多依赖项在部署时并未使用,例如 phpunit 仅用于单元测试或 Symfony 调试栏使用 \xe2\x80\x93 好吧,您猜对了 \xe2\x80\x93 用于调试。

\n\n

关于您关于删除依赖项的评论:它们是由 4 个主要依赖项之一拉入的,因此您必须分叉它们并删除未使用的组件,或者继续使用它。

\n