您如何建议将 Symfony 从 2.1 升级到 4.0

use*_*659 0 symfony

我有一个在 Symfony 2.1 上的项目,需要升级到 4.0 你知道最好的方法是什么吗?我可以直接从 2.1 升级到 4.0 吗?或者最好先从 2.1 迁移到 3.0,然后再迁移 4.0...你知道什么是最好的方法吗?非常感谢!

dbr*_*ann 5

您不应该直接升级。而是先升级到 2.8,使用像deprecation-detector这样的工具修复所有弃用。您可能希望以较小的步骤执行此操作。当时有相当多的弃用甚至一些 BC 中断,尤其是在表单组件周围,阅读版本之间的更改日志对于跟踪这些更改很重要。这听起来并不多,但它可能已经是一项非常乏味的任务,但值得。

一旦你移动到 2.8,你可以切换到 Symfony 3.4,再次修复所有弃用。有一个与安全相关的 BC 中断,这很容易修复。除此之外,从 2.8 升级到 3.4 应该比升级到 2.8 更容易。

从 3.3 开始,有一个持久的弃用日志,您可以使用它来修复在次要版本中引入的所有弃用。当你达到 3.4 时,你会没事的。这是一个长期支持版本,因此您要到明年才需要进行重大更新。

4.0 不会收到错误修复,安全修复仅在 2019 年 1 月之前可用,因此如果您想切换到下一个主要版本,我建议您转到 4.2,然后定期更新(每 6 个月发布新的次要版本)。如果这听起来太麻烦,我建议在 3.4 上停留一段时间,然后使用与上述相同的步骤升级到下一个 LTS 版本。

特别是在将 Symfony 3.4 升级到 4.x 时,您还可以查看一个名为rect的工具,它可以为您自动升级。据我所知,它并不支持发生的所有更改,但通过为您自动化,它至少会使一些弃用更改更容易。

编辑:还请记住,升级时您还必须升级您使用的捆绑包,其中一些甚至可能不支持 3.x 或 4.x。通过手动更改配置或替换它们来解决这些问题可能是这项工作中最烦人的一点。使用composer whycomposer why-not弄清楚为什么 composer 不会升级某些软件包甚至 Symfony 本身将非常有用。

  • 哇,谢谢你提到校长。我很高兴它开始帮助人们 (2认同)