PHP6 se viene
gestando con un proyecto mucho más complejo que cuando se realizó 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 más 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.
Fuente: Bolg Capacity IT
No hay comentarios:
Publicar un comentario