Symfony 2捆绑包可以与Symfony 3一起使用

时间:2017-02-07 11:44:31

标签: php symfony

我是Symfony的新手,我正在考虑将几个软件包集成到我的应用程序中,但我找到的所有软件包都是针对Symfony 2. 2/3有多么不同,可能会出现什么样的问题当我整合它时,我发现自己?

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

但它只对Symfony 2有效,我不想花一个时间试图整合它并遇到不兼容问题。

2 个答案:

答案 0 :(得分:2)

我会尝试提供一个答案,虽然这个问题非常糟糕,因为它太宽泛了。

当然,除非在捆绑包的可用官方文档中明确说明,否则基于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。

  3. 但最终:依赖关系管理是一个全能问题,你必须检查。

答案 1 :(得分:0)

大多数Symfony 2.8+软件包与Symfony 3一起开箱即用.Symfony 3与之前版本没有太大区别。

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

  

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

之前的引用来自this SO answer about the same question