【问题标题】:do Symfony 2 bundles work with Symfony 3Symfony 2 捆绑包可以与 Symfony 3 一起使用吗
【发布时间】:2017-02-07 11:44:31
【问题描述】:

我是 Symfony 的新手,我正在考虑将一些捆绑包集成到我的应用程序中,但我找到的所有捆绑包都是针对 Symfony 2 的。2/3 有多大不同,我可能会遇到什么样的问题当我整合它们?

例如,我正在考虑使用这个:http://knpbundles.com/sonata-project/SonataAdminBundle

但它只对 Symfony 2 有效,我不想花时间尝试集成它并遇到不兼容问题。

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    我会尝试提供一个答案,尽管这个问题很差,因为它太宽泛了。

    当然,除非在可用的官方文档中明确说明,否则基于 Symfony 的捆绑包将在哪个 Symfony 版本中工作并没有一般规则。

    几个迹象:

    1. 检查您的捆绑包的 CHANGELOG、README 等文件。例如。在 SonataAdminBundle 的 CHANGELOG 中,您会发现很多关于 Symfony > 3.0 的更改和错误修复 - 因此这强烈表明支持 Symfony > 3.0。

    2. 检查包的 composer.json,如果有的话。可能需要 Symfony,您可以找到一个 semver 版本。例如。对于 Sonata Admin 包,composer.json 中需要很多 Symfony 组件。它们都声明如下:"symfony/class-loader": "^2.3 || ^3.0",这意味着它至少需要 Symfony 2.3 或 3.0 - 再次强烈表明它将与 Symfony > 3.0 一起使用。

    但最后:依赖管理是一个老问题,你必须检查一下。

    【讨论】:

    • 非常感谢您的反对 - 有人可以解释我为什么得到这个吗?我现在将投票结束这个问题。
    【解决方案2】:

    大多数 Symfony 2.8+ 捆绑包都可以与 Symfony 3 一起使用。Symfony 3 与以前的版本没有太大区别。

    您可以轻松检查 Bundle 是否与 Symfony3 不兼容,在版本 2 上启用它,然后使用分析器查找弃用。

    [...] 您可以轻松地使用从 sf2 到 sf3 的捆绑包,但在处理此捆绑包的功能时,如果不升级此捆绑包,迁移可能无法正常运行。在 sf3 中正确运行 bundle 中的修改不是很重要。但是,是的,迁移很容易,但不是自动的。在这一点上发出警告并阅读有关哪个捆绑包以了解该捆绑包与 sf3 的技术层一起使用,以及是否对运行到 sf3 的代码进行了少量更改。

    前面的引用摘自this SO answer about the same question

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 2012-08-21
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      相关资源
      最近更新 更多