Pregunta

¿Cuáles son algunos buenos pasos a seguir para una migración sin problemas de PHP4 a PHP5?¿Cuáles son algunos tipos de código que probablemente se rompan?

¿Fue útil?

Solución

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

Uno de los otros cambios significativos que estaba observando en ese momento fue el cambio en el manejo predeterminado de los parámetros de función.En PHP4, si mal no recuerdo, eran de paso por copia a menos que especificaras lo contrario, pero en PHP5 se cambia a paso por referencia de forma predeterminada.En un código bien escrito, eso probablemente no supondrá una gran diferencia para usted, pero ciertamente podría causar problemas.

Creo que otra cosa que encontré cambiada es que los objetos ya no pueden sobrescribir su campo "este".Para empezar, diría que fue una muy mala idea (y creo que puede que no haya sido una característica intencional en PHP4), pero ciertamente encontré algunas partes de nuestro sistema que dependían de ella.

Espero que algo de eso ayude.

Otros consejos

El mejor consejo que podría darle a cualquiera que trabaje con PHP4 es este:

error_reporting( E_ALL );

Prácticamente le dirá exactamente lo que debe hacer.

Teníamos una aplicación que dependía en gran medida de las funciones DOM XML de PHP 4 y requirió muchas modificaciones para cambiar a PHP 5.

Más allá de eso, la mayoría de los cambios fueron mejoras en aspectos como el manejo de errores (para aprovechar las excepciones) y las clases PHP.

La programación orientada a objetos 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 de programación orientada a objetos de PHP5.No es una gran cantidad de trabajo convertir sus clases existentes a PHP5 y le brinda algunos métodos mágicos adicionales que pueden ayudar a resolver algunos trucos existentes (recuerdo tener un método equivalente a __toString casi inútil en la mayoría de las clases).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top