PHP 6
09 05 2008
Dentro de muy poco tiempo tendremos entre nosotros la próxima versión de php, php6. Esta versión ya está disponible en php.net para su descargar. Aunque la adopción de php5 y desaparición de php4 fue un proceso algo más lento de lo esperado. PHP6 no supone un cambio tan radical como el que sucedió con la versión anterior por lo que es de esperar, si todo va bien, que la adopción de esta versión sea más rápida.
PHP sigue siendo el lenguaje script para desarrollos web más popular y la lista de nuevas características que vienen con esta nueva versión pueden situarle en posiciones todavía más destacadas.
Estas son las novedades que incorporará el lenguaje:
Soporte para Unicode
PHP6 soporta Unicode en la mayoría de sus funciones principales. Esta característica tendrá un fuerte impacto ya que permitirá una mayor capacidad de internazionalización al soportar un conjunto de caracteres mucho mayor mediante sus funciones nativas.
Espacios de nombres (Namespaces)
PHP6 soporta namespaces. Una manera de evitar colisiones entre los nombres que asignemos a las diferentes clases sin tener que estar elaborando notaciones especificas para evitar este problema. De esta manera al crear tu propio espacio de nombres no tienes que preocuparte por si php tiene una clase con el mismo nombre o si una librería externa podría fallar debido a una colisión en los nombres de clase.
No es obligatorio el uso de namespaces lo que permite que el código de la versión 5 sea compatible con esta nueva caracteristica. Los namespaces aparecen ya soportados en la version php 5.3
Ejemplo:
<php
namespace ACC
class Dummy {}
$dummy = new ACC::Dummy();
?>
SOAP
SOAP es uno de los protocolos empleados por los servicios web soportado en otros lenguajes como JAVA. SOAP permite la interoperativilidad entre diferentes plataformas.
PHP6 tendra una extensión SOAP que nos permitirá una manera más sencilla de implementar tanto clientes como servidores SOAP
XML
A partir de PHP5.1 XMLWriter y XMLReader han formado parte del núcleo de PHP lo que permite construir y leer mensajes XML sin tener que preocuparte de los detalles más complejos de este formato. PHP6 mejora esta funcionalidad
Cosas que se han eliminado en PHP6
Además de los nuevas características añadidas, PHP 6 no tendrá algunas de las funciones y características propias de versiones anteriores. La mayoría de estas características, como register_globlas y safe_mode, son consideradas negativamente en la versión actual. Los que se oponen ha estas modificaciones arguyen que estos cambios provocará el fallo en los scripts actuales en cuanto se actualize a la nueva versión.
Estas con las características eliminadas en la próxima versión de PHP
magic_quotes
register_globals
register_long_arrays
safe_mode
Magic quotes
Por razones de portabilidad, rendimiento e inconveniencia se recomienda ya no utilizar esta característica. magic_quotes escapa cadenas que proceden de datos introducidos por el usuario $_POST, $_GET, $_REQUEST y que podrían ser empleados en una sentencia SQL originando fallos en la seguridad de la aplicación si se introducen determinadas secuencias de caracteres. Cuando se elimine esto de PHP también desaparecerá la función get_magic_quotes_gpc(). En su lugar para eliminar este riesgo de seguridad debemos recurrir a funciones del estilo mysql_escape_string para mysql y pg_escape_string para PostgreSQL.
Register globals
Register globals permitía inicializar variables a partir de datos externos ($_GET,$_POST,$_REQUEST) lo que potencialmente podría producir importantes errores en la aplicación y su seguridad. Register globals paso de estar activo a desactivo por defecto a partir de la versión 4.2
Register long arrays
Se eliminan los variables superglobales $HTTP_*_VARS se ha mantenido por razones de compatibilidad, aunque se aconsejaba dejar esta característica deshabilitada para mejorar el rendimiento de los scripts.
Safe mode
Cuando esta habilitada safe mode se aseguraba de que el propietario del fichero que se está ejecutando coincida con el propietario del fichero que se está empleando. Originariamente fue un intento para securizar determinadas operaciones en un entorno en el que el servidor estaba compartido.
Etiquetas PHP
Ya no se permiten ni etiquetas cortas ?> ni el formato ASP <% %> para encerrar fragmentos de código php
FreeType 1 y GD1
El soporte para FreeType 1 y GD 1 será eliminado completamente de PHP debido a que ambas librería ya no son mantenidas desde hace bastante tiempo. Las nuevas versiones de ambas librerías si que seguirán en PHP ya que proporcionan mejor funcionalidad.
Ereg
La extensión ereg también desaparecerá. En su lugar ya tenemos las expresiones regulares compatibles Perl (PCRE - Perl-Compatible Regular Expressions). De esta manera ereg() y eregi() pueden ser sustituidas por preg_match() y ereg_replace() y ereg_replacei() por preg_replace.
PHP 5.3
Algunas de las características mencionadas previamente para la nueva versión ya han sido portadas a la versión 5.3 de PHP para que el cambio de versión no sea tan violento como son los Namespaces y la inclusión en el núcleo de PHP de XMLReader y XMLWriter.
Comentarios :
No hay comentarios »
PHP sigue siendo el lenguaje script para desarrollos web más popular y la lista de nuevas características que vienen con esta nueva versión pueden situarle en posiciones todavía más destacadas.
Estas son las novedades que incorporará el lenguaje:
Soporte para Unicode
PHP6 soporta Unicode en la mayoría de sus funciones principales. Esta característica tendrá un fuerte impacto ya que permitirá una mayor capacidad de internazionalización al soportar un conjunto de caracteres mucho mayor mediante sus funciones nativas.
Espacios de nombres (Namespaces)
PHP6 soporta namespaces. Una manera de evitar colisiones entre los nombres que asignemos a las diferentes clases sin tener que estar elaborando notaciones especificas para evitar este problema. De esta manera al crear tu propio espacio de nombres no tienes que preocuparte por si php tiene una clase con el mismo nombre o si una librería externa podría fallar debido a una colisión en los nombres de clase.
No es obligatorio el uso de namespaces lo que permite que el código de la versión 5 sea compatible con esta nueva caracteristica. Los namespaces aparecen ya soportados en la version php 5.3
Ejemplo:
<php
namespace ACC
class Dummy {}
$dummy = new ACC::Dummy();
?>
SOAP
SOAP es uno de los protocolos empleados por los servicios web soportado en otros lenguajes como JAVA. SOAP permite la interoperativilidad entre diferentes plataformas.
PHP6 tendra una extensión SOAP que nos permitirá una manera más sencilla de implementar tanto clientes como servidores SOAP
XML
A partir de PHP5.1 XMLWriter y XMLReader han formado parte del núcleo de PHP lo que permite construir y leer mensajes XML sin tener que preocuparte de los detalles más complejos de este formato. PHP6 mejora esta funcionalidad
Cosas que se han eliminado en PHP6
Además de los nuevas características añadidas, PHP 6 no tendrá algunas de las funciones y características propias de versiones anteriores. La mayoría de estas características, como register_globlas y safe_mode, son consideradas negativamente en la versión actual. Los que se oponen ha estas modificaciones arguyen que estos cambios provocará el fallo en los scripts actuales en cuanto se actualize a la nueva versión.
Estas con las características eliminadas en la próxima versión de PHP
magic_quotes
register_globals
register_long_arrays
safe_mode
Magic quotes
Por razones de portabilidad, rendimiento e inconveniencia se recomienda ya no utilizar esta característica. magic_quotes escapa cadenas que proceden de datos introducidos por el usuario $_POST, $_GET, $_REQUEST y que podrían ser empleados en una sentencia SQL originando fallos en la seguridad de la aplicación si se introducen determinadas secuencias de caracteres. Cuando se elimine esto de PHP también desaparecerá la función get_magic_quotes_gpc(). En su lugar para eliminar este riesgo de seguridad debemos recurrir a funciones del estilo mysql_escape_string para mysql y pg_escape_string para PostgreSQL.
Register globals
Register globals permitía inicializar variables a partir de datos externos ($_GET,$_POST,$_REQUEST) lo que potencialmente podría producir importantes errores en la aplicación y su seguridad. Register globals paso de estar activo a desactivo por defecto a partir de la versión 4.2
Register long arrays
Se eliminan los variables superglobales $HTTP_*_VARS se ha mantenido por razones de compatibilidad, aunque se aconsejaba dejar esta característica deshabilitada para mejorar el rendimiento de los scripts.
Safe mode
Cuando esta habilitada safe mode se aseguraba de que el propietario del fichero que se está ejecutando coincida con el propietario del fichero que se está empleando. Originariamente fue un intento para securizar determinadas operaciones en un entorno en el que el servidor estaba compartido.
Etiquetas PHP
Ya no se permiten ni etiquetas cortas ?> ni el formato ASP <% %> para encerrar fragmentos de código php
FreeType 1 y GD1
El soporte para FreeType 1 y GD 1 será eliminado completamente de PHP debido a que ambas librería ya no son mantenidas desde hace bastante tiempo. Las nuevas versiones de ambas librerías si que seguirán en PHP ya que proporcionan mejor funcionalidad.
Ereg
La extensión ereg también desaparecerá. En su lugar ya tenemos las expresiones regulares compatibles Perl (PCRE - Perl-Compatible Regular Expressions). De esta manera ereg() y eregi() pueden ser sustituidas por preg_match() y ereg_replace() y ereg_replacei() por preg_replace.
PHP 5.3
Algunas de las características mencionadas previamente para la nueva versión ya han sido portadas a la versión 5.3 de PHP para que el cambio de versión no sea tan violento como son los Namespaces y la inclusión en el núcleo de PHP de XMLReader y XMLWriter.
Categorías : Programación
Referencias : 27 Referencias »



Tracked: May 25, 23:59
Tracked: May 27, 01:59
Tracked: May 28, 02:45
Tracked: Jun 10, 06:50
Tracked: Jun 11, 04:49
Tracked: Jun 12, 00:11
Tracked: Jun 14, 04:39
Tracked: Jun 15, 15:18
Tracked: Jun 16, 12:59
Tracked: Jun 18, 14:56
Tracked: Jun 19, 20:03
Tracked: Jun 20, 09:57
Tracked: Jun 21, 04:12
Tracked: Jun 24, 23:33
Tracked: Jun 25, 21:56
Tracked: Jun 26, 05:10
Tracked: Jun 27, 03:06
Tracked: Jun 27, 12:39
Tracked: Jun 28, 10:00
Tracked: Jun 28, 11:41
Tracked: Jul 01, 09:30
Tracked: Jul 02, 03:38
Tracked: Jul 02, 19:15
Tracked: Jul 06, 11:31
Tracked: Jul 08, 20:46
Tracked: Jul 08, 20:55
Tracked: Aug 08, 22:24