ZF2和Zend Studio 10是否需要Vendor / Library文件夹?

时间:2013-02-27 14:46:48

标签: zend-framework2 zend-studio

在我们针对ZF2项目的Zend Studio 10设置中,我们将Zend Framework 2作为PHP Include Path的一部分包含在内。但是,该项目也设置为vendor/zendframework/zendframework/library/Zend/,其中包含包含路径中库的副本。

每次自动完成时,都会有两件事。事实上,当我从文件夹中删除Zend库时,一切都继续工作。

请记住,这是使用项目向导创建新项目时的默认设置。

有没有理由保留vendor/zendframework/zendframework/library/Zend/文件夹?

更新 看起来PHP单元配置直接查找库文件夹而不是包含路径条目。

来自TestConfiguration.php.dist

define('ZF2_PATH', realpath(__DIR__ . '/../../../vendor/zendframework/zendframework/library/'));

1 个答案:

答案 0 :(得分:1)

如果通过autoloading发生Composer,那么请考虑Composer实际下载每个项目的所有依赖项的一个副本。

这一直在讨论,但基本上,原因是每个项目都被锁定了#34;具有特定版本的依赖关系(依赖关系名称+版本=包)。

在zf2项目中,您不应再拥有共享库了。

如果您通过编辑器进行自动加载,则必须将该目录保留在vendor/中,否则您必须在init_autoloader.php中手动自定义自动加载器。

请考虑从Zend Studio中删除共享库。

此外,默认情况下,ZF2不会在include_path中查找依赖项,因为在执行此操作时,stat调用会丢失很多性能。