【问题标题】:Is the Vendor/Library folder needed with ZF2 and Zend Studio 10?ZF2 和 Zend Studio 10 是否需要 Vendor/Library 文件夹?
【发布时间】:2013-02-13 10:18:03
【问题描述】:

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

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

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

有什么理由保留vendor/zendframework/zendframework/library/Zend/ 文件夹吗?

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

来自TestConfiguration.php.dist

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

【问题讨论】:

    标签: zend-framework2 zend-studio


    【解决方案1】:

    如果 autoloading 通过 Composer 发生,则认为 Composer 实际上会为每个项目下载所有依赖项的一份副本。

    这已被反复讨论过,但基本上,其原因是每个项目都“锁定”到具有特定版本的特定依赖项集(依赖项名称 + 版本 = 包)。

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

    如果您的自动加载是通过 composer 进行的,那么您必须将该目录保存在 vendor/ 中,否则您将不得不在您的 init_autoloader.php 中手动自定义您的自动加载器。

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

    此外,默认情况下,ZF2 不会在 include_path 中查找依赖项,因为这样做会在 stat 调用中损失很多性能。

    【讨论】:

    • 我已经删除了共享库,准备逐步完善它。
    猜你喜欢
    • 2014-04-08
    • 2016-06-01
    • 2016-02-13
    • 2020-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多