Mañana es el dia, en el que PHP se hace mayor, la mejor actualización desde hace años, esperada por muchos desarrolladores, ya tiene fecha de salida.
PHP 5.3.0 incluye importantísimas novedades, como por ejemplo:
Anonymous functions
Funciones Anónimas , también conocido known o closures, permite la creación de funciones que no tienen nombre especifico. Son muy útiles como el valor de los parámetros de llamada, pero tienen muchos otros usos.
<?php $greet = function($name) { printf("Hello %srn", $name); }; $greet('World'); $greet('PHP'); ?> |
Driver nativo de MySQL
El Driver nativo MySQL es el sustituto para la libreria de MySQL (libmysql). El Driver nativo de MySQL es ya oficial de PHP 5.3 y PHP 6, está escrito en C como una extensión de PHP.
archivos Phar
El concepto de Phar archivos proceden de la tecnología Java ™ de archivos JAR, que le permite tener todas sus clases en un solo archivo empaquetado.
Phar puede no solo ser utilizado como un contenedor de clases, sino tambien para ejecutar aplicaciones enteras. Los JAR actualmente contiene archivos para ejecutar o crear una aplicación y pueden ser ofuscados por medidas de seguridad, Phar está basado en un concepto similar, pero diseñado más para ambientes web.
Las extensiones Phar, no son totalmente nuevas. Inicialmente se escribieron como PHP_Archive, en el repositorio PEAR en 2005.
//Creando un Phar <?php $p = new Phar('/path/to/my.phar', CURRENT_AS_FILEINFO | KEY_AS_FILENAME, 'my.phar'); $p->startBuffering(); $p = $p->convertToExecutable(Phar::ZIP); ?> |
Operador Goto
El operador puede ir a ser usado para saltar a otra sección del programa o sistema.
<?php goto a; echo 'Foo'; a: echo 'Bar'; ?> |
Namespaces
Un namespace o espacio de nombres es un medio para organizar/encapsular clases, funciones, constantes… dentro de un entorno, agrupándolas de un modo más lógico y jerárquico, de la misma forma que los directorios agrupan a los archivos dentro de un sistema de ficheros.
Ésta es una característica bastante esperada por los desarrolladores de PHP y llega con el objetivo de ayudar a que no necesitemos prefijar el nombre de nuestras clases con el nombre del paquete al que pertenecen y, por tanto, que podamos tener nombres más cortos. También nos ofrece la posibilidad de declarar varias clases con el mismo nombre y/o que un grupo de desarrolladores pueda trabajar en varios componentes de un mismo proyecto sin que se produzcan colisiones durante la integración.
Los namespaces están especialmente indicados cuando trabajamos en proyectos de gran envergadura, como por ejemplo, un Framework PHP. En algunos Frameworks podemos llegar a encontrar nombres realmente complejos, por no decir imposibles.
<?php namespace MiEspacioMiSubnivel1MiSubnivel2; const CONSTANTE = 1; class mi_clase { /* ... */ } function mi_funcion() { echo "Mi Funcion"; } ?> |












