2008-08-09 17 views
9

¿Cuáles son algunos buenos pasos a seguir para una migración fluida de PHP4 a PHP5. ¿Cuáles son algunos tipos de código que es probable que se rompan?Migración de PHP4 a PHP5

Respuesta

8

También trabajé una vez en una aplicación que utilizaba bastante el soporte XML de PHP4, y habría requerido bastante trabajo para pasar a PHP5.

Uno de los otros cambios significativos que estaba viendo en ese momento fue el cambio del manejo predeterminado de los parámetros de la función. En PHP4, si recuerdo, se copiaron a menos que se especifique lo contrario, pero en PHP5 se cambia a pass-by-reference de forma predeterminada. En un código bien escrito, eso probablemente no hará una gran diferencia para usted, pero sin duda podría causar problemas.

Creo que otra cosa que encontré modificada es que los objetos ya no pueden sobrescribir su campo 'this'. Diría que fue una muy mala idea para empezar (y creo que puede que no haya sido una característica intencional de PHP4), pero ciertamente encontré algunas partes de nuestro sistema que confiaban en él.

Espero que algo de eso ayude.

+0

Me acabo de dar cuenta de esta publicación en la parte superior de los resultados de búsqueda de Google cuando busqué PHP4 vs PHP5 pasando argumentos para el funcionamiento de la función. [el manual de php] (http://php.net/manual/en/functions.arguments.php) establece lo contrario; pasar por valor (pasar por copiar) es _hasta_ el valor predeterminado. –

1

Tuvimos una aplicación que se basó en gran medida de las funciones PHP 4 DOM XML y se requiere una gran cantidad de reequipamiento para cambiar con PHP 5.

Más allá de que la mayoría de los cambios fueron mejoras en cosas como el control de errores (para aprovechar de excepciones) y clases PHP.

2

El mejor consejo que podría dar cualquiera que trabaje con PHP 4 es la siguiente:

error_reporting(E_ALL); 

Es más o menos le dirá exactamente lo que tiene que hacer.

+0

¿Antes o después de la migración? –

1

OOP es una de las mayores diferencias. No se romperá ya que los estilos de programación orientada a objetos PHP4 y PHP5 son intercambiables, pero recomendaría aprovechar los nuevos estilos OOP de PHP5. No es una gran cantidad de trabajo convertir tus clases existentes a PHP5 y te da algunos métodos mágicos adicionales que pueden ayudarte a resolver algunos hacks existentes (recuerdo haber tenido un método equivalente casi inútil __toString en la mayoría de las clases).