2008-08-09 60 views
9

从PHP4顺利迁移到PHP5需要遵循什么步骤?什么是可能会破坏的某些类型的代码?PHP4到PHP5迁移

回答

8

我也曾经在一个应用程序中使用PHP4的XML支持,并且需要相当多的工作才能移动到PHP5。

我当时看到的其他重大变化之一是函数参数默认处理的更改。在PHP4中,如果我记得,它们是通过复制的,除非您另有指定,但在PHP5中默认情况下更改为通过引用传递。在写得很好的代码中,这可能不会对你产生重大影响,但它肯定会造成问题。

我觉得另一件我发现改变的是,对象不再允许覆盖他们的'this'字段。我想说这是一个非常糟糕的主意(我认为它可能不是PHP4中的一个有意的功能),但我确实发现了依赖于它的我们系统的一些部分。

希望一些帮助。

+0

当我搜索PHP4 vs PHP5将参数传递给函数行为时,我恰巧在Google搜索结果的顶部注意到这篇文章。 [php手册](http://php.net/manual/en/functions.arguments.php)另有声明;按值传递(pass-by-copy)是_still_的默认值。 – 2011-04-23 05:40:56

1

我们不得不严重依赖于PHP 4 XML DOM功能的应用程序,它需要重新装备,以处理在PHP改变5.

除此之外,大多数变化,例如错误改进的东西很多(利用的例外)和PHP类。

2

我可以给任何人PHP4工作的最好的建议是这样的:

error_reporting(E_ALL); 

它几乎会告诉你,正是你需要做什么。

+0

迁移之前或之后? – 2010-09-04 11:26:46

1

OOP是最大的差异之一。它不会因为PHP4和PHP5 OOP样式可以互换而中断,但我会推荐利用PHP5的新OOP样式。将现有的类转换为PHP5并不是一项巨大的工作,它确实为您提供了一些额外的神奇方法,可以帮助解决一些现有的黑客(我记得在大多数类中都有一个近似无用的__toString等效方法)。