在我们针对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/'));
答案 0 :(得分:1)
如果通过autoloading发生Composer,那么请考虑Composer实际下载每个项目的所有依赖项的一个副本。
这一直在讨论,但基本上,原因是每个项目都被锁定了#34;具有特定版本的依赖关系(依赖关系名称+版本=包)。
在zf2项目中,您不应再拥有共享库了。
如果您通过编辑器进行自动加载,则必须将该目录保留在vendor/
中,否则您必须在init_autoloader.php
中手动自定义自动加载器。
请考虑从Zend Studio中删除共享库。
此外,默认情况下,ZF2不会在include_path
中查找依赖项,因为在执行此操作时,stat调用会丢失很多性能。