Diferencias entre PHP4 y PHP5

Publicado en Programación el 20 de May de 2009 por Manel Pérez Mata
Tags:

PHP4 to PHP5A pesar de que hace varios años que PHP5 vio la luz y de que su uso es ya super común, nunca me había parado a mirar con detenimiento cuales son las principales diferencias entre PHP4 y PHP5.

Después de dar un paseo por la fantástica documentación de PHP, dejan bastante claro que se centraron principalmente en conseguir un soporte decente para la Programación Orientada a Objetos y mejorar significativamente el rendimiento y las capacidades de PHP intentando conseguir la máxima compatibilidad con su versión 4, lo qual ha sido un detalle ya que facilita enormemente la migración.

El resultado de todo el trabajo de los desarrolladores de PHP es el Motor Zend 2 o Zend Engine 2, segunda versión de su motor de procesamiento para la intepretación y cifrado del código PHP. Sin entrar en detalle, los cambios más significativos de este proyecto han sido:

  • Mejor soporte para la Programación Orientada a Objetos
  • Optimización del rendimiento
  • Mejor soporte para MySQL y soporte nativo para SQLite
  • Manejo de XML nativo (XPath, DOM…)
  • Soporte integrado para SOAP
  • Iteradores de datos
  • Manejo de excepciones

Migrarción a PHP5

A pesar de que se esmeraron en conseguir una compatibilidad de casi el 100% entre PHP4 y PHP5, hay una serie de incompatibilidades que podrían provocar el mal funcionamiento de una aplicación diseñada para PHP4 y corriendo en PHP5.

Si todavía no te has lanzado a la migración y estás pensando en lanzarte a ello (cosa que recomiendo por la comididad y fiabilidad de esta última versión) los puntos más delicados y que suelen ser los que dan problemas son:

  1. Las variables pasadas mediante GET/POST, en PHP4 quedan disponibles inmediatamente, pero en PHP5 es obligatorio usar $_GET, $_POST, o directamente $_REQUEST.
  2. Las variables globales (su uso no es recomendable), están deshabilitadas en la configuración en PHP5 (register_globals = Off).
  3. Los objetos se pasan por referencia en PHP5 en contra de lo que sucedía en PHP4, dónde todo se pasaba por valor a menos que se dijese explícitamente con &. En PHP5 los objetos son automáticamente por referencia, excepto las variables que continuan pasándose por valor.

Para más información, un enlace a la documentación oficial sobre migración a php5 y sobre incompatibilidades.

Compártelo!! These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Meneame
  • BarraPunto
  • Technorati
  • Google Bookmarks
  • Facebook
  • LinkedIn
  • del.icio.us
  • Digg
  • Reddit
  • Live-MSN
  • MySpace
  • TwitThis
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Leave a Reply