¿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
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.
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.
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.
¿Antes o después de la migración? –
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).
- 1. PHP4: ¿Enviar XML a través de HTTPS/POST a través de cURL?
- 2. ¿Fin oficial de soporte para PHP4?
- 3. Obteniendo cronjob para ejecutar script PHP como PHP5
- 4. Estrategias para manejar el consumo de memoria en PHP5?
- 5. Migración EF a Oracle
- 6. ¿Cuál es la diferencia entre php5 y php5-dev
- 7. Migración de PHP a Java
- 8. Migración de TFS a Git
- 9. Migración de Authlogic a Devise
- 10. Migración de TFS a Redmine
- 11. Permitir curl en php5
- 12. PHP5: const vs static
- 13. Migración desde Winforms a WPF
- 14. PHP5-IMAP '¡No tengo cuerpo!'
- 15. Pear install para macports PHP5
- 16. Migración de WebForms de ASP.NET a MVC
- 17. Migración de 'Controles' de VB.NET a C#
- 18. Guía de migración de Axis2 a CxF
- 19. Migración de ExtJS 3.0 a 4.0
- 20. Migración de Oracle a SQL Server
- 21. Migración de Hit/Visitas a TopDocs/TopDocCollector
- 22. Migración de Jetty 6 a Jetty 8
- 23. Migración de Hibernate a JPA sin anotaciones
- 24. Migración de Hibernate 3.2.5 a 3.6
- 25. Migración de Mercurial a la subversión
- 26. Migración de Webrat a Carpincho ... sin éxito
- 27. Método de invocación Java desde PHP5
- 28. Cómo convertir matriz bidimensional a una matriz unidimensional en php5
- 29. PHP5 Excepción de MySql y PDO
- 30. Cómo recuperar datos privados con YQL en Yahoo PHP5 Sdk yos-social-php5
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. –