Upcoming changes in PHP 6.0

Acabo de leer en Phphacks un excelente resumen de los cambios que se vendrán con Php 6.0. Gracias a diego ya tenemos la traducción del articulo.

EL mundo PHP esta realmente exaltado por la próxima versión de PHP, la 6.0 . Mas allá de las incertidumbres propias de cada nueva versión, PHP 6.0 parece deshacerse de 3 rasgos que siempre dieron problemas: register_globals, magic_quotes_gpc y safe_mode.

El primero fue un gran hueco de seguridad, el segundo interfería con los datos y hacía el cambio de ambientes bastante difícil, mientras que la 3era era usualmente malinterpretada y creaba una falsa sensación de seguridad. Hay también bastante trabajo previsto para hacer con Unicode.



Resumen de cambios:

* Los opciones register_globals, safe_mode y varias opciones de comillas serán removidas.
* Se remueve la extension ereg, mientras que las extensiones XMLReader, XMLWriter y Fileinfo se añaden al core (base) y están activas por defecto.
* Otra adición que encontré particularmente interesante es que APC (Alternative PHP Cache/ Cache PHP Alternativo) será agregado al core, aunque estará desactivado por defecto. APC puede proveer grandes beneficios de performance.
* Todos los mensajes E_STRICT serán cambinados dentro de E_ALL, otro cambio positivo que animara la practica de una buena programación.
* Tags estilo ASP <% ya no serán soportados.
* Adición de los nuevos números enteros de 64-bit. El tipo actual de entero permanece como es, 32 o 64-bit dependiendo de la plataforma.
* Uso de foreach con arrays multidimensionales, por ejemplo foreach($array as $k => list($a, $b)).
* Un nuevo switch (interruptor) en php.ini permitirá desactivar las semánticas Unicode (Por defecto estas estarán activadas, on)
* También habrán varias mejoras de strings (cuerdas) en relación a Unicode.
* La función microtime() arrojara el numero de punto flotante completo, mas que los microsegundos unix_timestamp, como es en la actualidad, probablemente haciendo que la función sea mas facil y util.
* La notación {} para los índices de strings ya no será soportada, mientras que la version [] será añadida a las funcionalidades substr() y array_slice().
* FastCGI siempre estara activada para el SAPI CGI, y no permitirá ser desactivada.
* Las antiguas globales HTTP_*_VARS ya no seran soportadas.
* var sera un alias Publico. var era permitido con clases PHP 4 pero en PHP5 esto genero una advertencia. En PHP 6 var será simplemente un alias publico, asi que no se necesita ninguna advertencia.
* El modo de compatibilidad zel, que trato de conservar el comportamiento en PHP 4 pero tuvo algunos bugs, sera removido.
* Ya no se permitirá que se llame a las funciones dinámicas usando sintaxis estática.

Hay muchas cosas por ser determinadas, siendo namespaces una de las mas importantes, pero este proceso tomara cierto tiempo antes de que podamos ver el producto final, igualmente todos están emocionados por la forma en la que el proyecto parece estar siendo dirigida y el progreso que se esta logrando.


  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Meneame
  • BarraPunto
  • blinkbits
  • Furl
  • Reddit
  • Slashdot
  • Technorati
  • Live
  • Ma.gnolia
  • Spurl
  • StumbleUpon
  • YahooMyWeb
  • description
  • MisterWong
  • Scoopeo
  • Wikio

Usted al comentar dará por aceptado:

  • 1. Los presentes comentarios reflejan exclusivamente la opinión del usuario/blogger, mas no necesariamente la de delirius.com.ar.
  • 2. No se permitirán opiniones que afecten la honorabilidad o reputación de terceros, como así tampoco aquellas que de algún modo puedan ser contrarias a la legislación vigente en la República Argentina.

1 Comentario »

RSS feed para los comentarios de esta entrada. TrackBack URI

  1. gravatar

    Realmente no entiendo cual es la ventaja de perder tanta backward compatibility // excelente tu blog!

    Comentario por Pablo — 2007-10-18 #

Dejar un comentario