我按照Laravel安装指南中的所有步骤进行操作。
使用Composer,项目在服务器上成功安装并像魅力一样运行。
在安装时,Composer会在供应商目录中添加一些依赖项。
我的问题是:为什么“Hello World项目”存在这么多依赖项。我不明白目录的需求。继承人名单:
我来自Zend开发。所以在供应商目录中,我只期待Laravel框架,没有别的。为什么我需要超过4200个第三方脚本文件。
感谢您的回答。
卡尔
答案 0 :(得分:2)
Laravel具有许多开箱即用的功能,在其他框架中缺少这些功能。我可以理解你认为对于像Hello World项目那样简单的东西有太多的依赖关系,因为你是完全正确的。但Laravel不是在你需要时添加功能,而是在于已经拥有所有功能。这就像比较Arch Linux和Ubuntu。在Arch中,您可以根据需要随时随地安装。 Ubuntu拥有一切开箱即用的功能。
哪个更好是主要是品味问题。
我在新的Laravel项目中运行composer show --tree
以查看依赖关系树。现在,从Laravel 5.4.18开始,有4个主要依赖项引入所有其他依赖项。
部署时,许多这些依赖项未被使用,例如phpunit仅用于单元测试或使用Symfony调试条 - 好吧,你猜对了 - 用于调试。
关于删除依赖项的注释:它们由4个主要依赖项中的一个引入,因此您必须分叉它们并删除未使用的组件或使用它。