从ZF3迁移到Laminas后是否可以去掉Laminas Dependency Plugin?
Can Laminas Dependency Plugin be removed after the migration from ZF3 to Laminas?
我将一个应用程序从 Zend Framework 3 迁移到了 Laminas。在迁移期间,迁移脚本将 laminas/laminas-dependency-plugin
依赖项添加到 composer.json
。之后我删除了它(通过 运行 $ composer remove laminas/laminas-dependency-plugin
)。目前没有错误,所有测试都是 "green"。但是我想确定的是,这个包真的只是迁移所需要的,我不会因为缺少这个而造成任何麻烦。
成功完成从 Zend Framework 3 到 Laminas 的迁移后是否需要软件包 laminas/laminas-dependency-plugin
?
laminas/laminas-dependency-plugin
用于某些依赖项需要 Zend Framework 包的情况。它与 composer resolution 挂钩,将 ZF 包重写为它的 Laminas 对应物。
每个迁移的 Laminas 包都提供与最初在 Zend Framework 中发布的相同版本,并提供 composer replace 完全相同版本的 ZF 包。
例如,当您的某些依赖项需要 laminas/laminas-stratigility
而其他一些需要 zendframework/zend-stratigility
时,composer 将安装 laminas/laminas-stratigility
以满足这两个依赖项。依赖插件将无效。
然而,当某些依赖项需要 zendframework/zend-inputfilter
而没有任何依赖项需要其 Laminas 对应项时,composer 将安装 zendframework/zend-inputfilter
。这是依赖插件发挥作用并将其重写为 laminas/laminas-inputfilter
如果没有安装 zendframework/* 包,你没问题。 laminas/laminas-dependency-plugin
不是硬依赖,您可以删除它。
另一个兼容包 laminas/laminas-zendframework-bridge
负责在触发 Zend Framework class 自动加载时将 Zend 命名空间动态别名为 Laminas。
如果你确定你的依赖树中没有任何东西使用 Zend Framework 包,你也可以通过使用根 composer.json
中的 replace
删除桥接包,如下所示:
"replace": {
"laminas/laminas-zendframework-bridge": "*"
},
请注意,此方法是一种 hack,除非您严格控制依赖项,否则可能会破坏某些代码。通常它的影响可以忽略不计,删除它不会带来明显的好处。
我将一个应用程序从 Zend Framework 3 迁移到了 Laminas。在迁移期间,迁移脚本将 laminas/laminas-dependency-plugin
依赖项添加到 composer.json
。之后我删除了它(通过 运行 $ composer remove laminas/laminas-dependency-plugin
)。目前没有错误,所有测试都是 "green"。但是我想确定的是,这个包真的只是迁移所需要的,我不会因为缺少这个而造成任何麻烦。
成功完成从 Zend Framework 3 到 Laminas 的迁移后是否需要软件包 laminas/laminas-dependency-plugin
?
laminas/laminas-dependency-plugin
用于某些依赖项需要 Zend Framework 包的情况。它与 composer resolution 挂钩,将 ZF 包重写为它的 Laminas 对应物。
每个迁移的 Laminas 包都提供与最初在 Zend Framework 中发布的相同版本,并提供 composer replace 完全相同版本的 ZF 包。
例如,当您的某些依赖项需要 laminas/laminas-stratigility
而其他一些需要 zendframework/zend-stratigility
时,composer 将安装 laminas/laminas-stratigility
以满足这两个依赖项。依赖插件将无效。
然而,当某些依赖项需要 zendframework/zend-inputfilter
而没有任何依赖项需要其 Laminas 对应项时,composer 将安装 zendframework/zend-inputfilter
。这是依赖插件发挥作用并将其重写为 laminas/laminas-inputfilter
如果没有安装 zendframework/* 包,你没问题。 laminas/laminas-dependency-plugin
不是硬依赖,您可以删除它。
另一个兼容包 laminas/laminas-zendframework-bridge
负责在触发 Zend Framework class 自动加载时将 Zend 命名空间动态别名为 Laminas。
如果你确定你的依赖树中没有任何东西使用 Zend Framework 包,你也可以通过使用根 composer.json
中的 replace
删除桥接包,如下所示:
"replace": {
"laminas/laminas-zendframework-bridge": "*"
},
请注意,此方法是一种 hack,除非您严格控制依赖项,否则可能会破坏某些代码。通常它的影响可以忽略不计,删除它不会带来明显的好处。