Home > Php > Cambios mas destacados en php 6

PHP6 se viene gestando con un proyecto mucho más complejo que cuando se realizo el PHP4 y el PHP5, ya que implica para los desarrolladores exponer incompatibilidades con sus aplicaciones. Por motivo de ello se ha introducido la versión 5.3, como una forma de realizar pruebas a las mejoras que podría eventualmente presentar la versión 6 de PHP.

Entre algunos de los aspectos mas citados se encuentran los siguientes:

  • Unicode: Es el cambio más relevante en esta nueva versión. En PHP5 se puede activar Unicode bajo petición, pero en este caso, se dispara el consumo de recursos debido a que PHP tiene que almacenar todas las variantes de funciones, métodos y clases tanto en Unicode como en no-Unicode en la tabla de símbolos.
  • Register Globals eliminadas: Cualquier variable global registrada que aparezca en el código nos devolverá un error E_CORE_ERROR y un enlace a la documentación en la que se detalla porqué es contraproducente utilizarlo. Para la versión actual 5.3 ya han sido marcadas como deprecated.
  • Magic Quotes eliminadas: El bajo rendimiento de magic_quotes,magic_quotes_sybase y magic_quotes_gpc ha provocado la decisión de colocarlas como deprecated en la versión actual 5.3 y de eliminarlas definitivamente para la versión 6.
  • Modo seguro eliminado: La razón es que aparentemente daba una idea errónea de que hacía a PHP seguro, cuando en realidad no mejoraba en nada la seguridad, si bien, open_basedir se conservará.
  • ‘var’ y ‘public’ tendrán el mismo significado: Con PHP6 una variable ‘var’ va a considerarse ‘public’ adquiriendo idéntico significado. Desaparecerá el warning mostrado al usarlo aunque tengamos configurado el nivel de error como E_STRICT.
  • Return by Reference devolverá un error: Tanto $foo =& new StdClass() como function &foo producirán ahora un error E_STRICT.
  • Compatibilidad zend.ze1 eliminada: ze1 intentó conservar el viejo comportamiento de PHP4, pero aparentemente “ni siquiera funciona al 100%”, así que será eliminado por completo y dará un error E_CORE_ERROR si se detecta.
  • Se abandona el soporte de Freetype1 y GD1: Bibliotecas totalmente obsoletas y que no tiene sentido seguir manteniendo.
  • FastCGI siemper activado: El código de FastCGI será renovado y estará siempre disponible para la CGI SAPI, no podrá ser desactivado.
  • Register Long Arrays eliminado: En PHP6 sólo $_POST y $_GET serán aceptados, HTTP_*_VARS va a devolver un error.
  • Las extensiones XMLReader y XMLWriter movidas: Se moverán al núcleo de distribución y permanecerán activas por defecto.
  • Extensión ereg eliminada: La introducción de las librerías ICU (necesarias para el tema de Unicode) han motivado el movimiento de la extensión ereg a PECL y por lo tanto será eliminada de PHP. A partir de ese momento se deberán usar la nueva extensión de expresiones basadas en ICU.
  • Fileinfo por defecto: La extensión Fileinfo se verá desplazada al núcleo de la distribución y estará activada por defecto.