从PHP4到PHP5的迁移

时间:2020-03-05 18:38:43  来源:igfitidea点击:

要顺利地从PHP4迁移到PHP5,需要遵循哪些良好的步骤。有哪些类型的代码可能会中断?

解决方案

回答

我们有一个应用程序,该应用程序严重依赖于PHP 4 XML DOM函数,并且需要大量的重新设计才能在PHP 5上进行更改。

除此以外,大多数更改还改进了错误处理(以利用异常)和PHP类之类的东西。

回答

我还曾经开发过一个应用程序,该应用程序大量使用了PHP4的XML支持,因此要迁移到PHP5需要大量的工作。

我当时正在查看的其他重要更改之一是对函数参数的默认处理的更改。我记得在PHP4中,除非我们另外指定,否则它们是传递副本,但在PHP5中,默认情况下将其更改为传递引用。在编写良好的代码中,这可能对我们没有多大影响,但肯定会引起问题。

我认为我发现改变的另一件事是,不再允许对象覆盖其"此"字段。我会说这是一个非常糟糕的主意(我认为它可能不是PHP4中的有意功能),但是我当然发现我们的系统中有部分依赖它。

希望其中的一些帮助。

回答

我可以给使用PHP4的任何人的最佳建议是:

error_reporting( E_ALL );

它几乎可以告诉我们我们到底需要做什么。

回答

OOP是最大的差异之一。它不会中断,因为PHP4和PHP5 OOP样式可以互换,但是我建议我们利用PHP5的新OOP样式。将我们现有的类转换为PHP5并不是很多工作,它确实为我们提供了一些额外的神奇方法,这些方法可能有助于解决一些现有的黑客攻击(我记得大多数类中都有几乎没有用的__toString等效方法)。