从 PHP4 到 PHP5 的顺利迁移需要遵循哪些好的步骤。哪些类型的代码可能会被破坏?
4 回答
我也曾经开发过一个应用程序,该应用程序大量使用 PHP4 的 XML 支持,并且需要大量工作才能迁移到 PHP5。
我当时看到的其他重大变化之一是函数参数的默认处理方式的变化。如果我记得的话,在 PHP4 中,除非您另外指定,否则它们是按副本传递的,但在 PHP5 中默认更改为按引用传递。在编写良好的代码中,这可能不会对您产生太大影响,但它肯定会导致问题。
我认为我发现改变的另一件事是不再允许对象覆盖其“this”字段。我会说一开始这是一个非常糟糕的主意(而且我认为它可能不是 PHP4 中的有意特性),但我确实发现我们系统的一些部分依赖它。
希望其中一些有所帮助。
我能给任何使用 PHP4 的人最好的建议是:
error_reporting( E_ALL );
它几乎会告诉你你需要做什么。
我们有一个严重依赖 PHP 4 XML DOM 函数的应用程序,它需要进行大量的重组才能改变 PHP 5。
除此之外,大多数更改是对错误处理(利用异常)和 PHP 类等方面的改进。
OOP 是最大的差异之一。它不会中断,因为 PHP4 和 PHP5 OOP 样式可以互换,但我建议利用 PHP5 的新 OOP 样式。将现有的类转换为 PHP5 的工作量并不大,它确实为您提供了一些额外的神奇方法,可以帮助解决一些现有的 hack(我记得在大多数类中都有一个几乎没用的 __toString 等效方法)。