JOSH LOCKHART Publico un internaste artículo sobre PHP, el cual traducí y les comparto a continuación

El lenguaje de programación que les encanta odiar está experimentando un renacimiento. No se trata del PHP de tus padres. El nuevo PHP es un lenguaje más maduro con las normas de la comunidad, una afinidad creciente para los componentes de interoperabilidad, y un movimiento apasionado para mejorar el rendimiento. Si has pasado por alto a PHP por lenguajes alternativos, o si eres un veterano conscientes de los recientes cambios de PHP, debes darle a PHP una segunda mirada

Características del lenguaje

PHP 5.5 (la última versión estable) ha logrado avances importantes respecto a versiones anteriores. Las últimas versiones de PHP contienen nuevas características muy potentes y herramientas de desarrollo útiles, como un servidor web integrado, generadores de iteración sencilla, y espacios de nombres(namespaces). Con PHP 5.4, se introdujeron Traits (similar a Scala o Perl) para permitir la reutilización de código similar a la herencia, así como los closures, que le permiten al código PHP un estilo funcional. Otras características importantes incluyen la incorporación del gestor de procesos FastCGI, un depurador phpdbg, y un nuevo API hash de contraseñas que hace que sea mas fácil y segura gestionar contraseñas en PHP.

Componentes interoperables

Hace unos años, PHP tenía varios marcos de gran tamaño (por ejemplo, CakePHP, CodeIgniter, etc). Cada marco era una isla y proporcionaba su propia implementación de características que se encuentran comúnmente en otros marcos. Lamentablemente, estas implementaciones insulares no eran compatibles el uno con el otro y forzaban a los desarrolladores a cerrarse en un marco específico para un proyecto dado.

Hoy la historia es diferente. La nueva comunidad PHP utiliza las bibliotecas de gestión de paquetes y componentes para mezclar y combinar las mejores herramientas disponibles. Me gusta compararlo como ir de compras al super mercado. Si tengo que consumir una API remota, voy a visitar pasillo 3 y recojo Guzzle. ¿Necesito un router?
Symfony\Routing, Aura\Router, Slim, Pux, y nikic/fast-route estan en el pasillo 4. Usted obtiene la esencia. El nuevo PHP es acerca de los componentes de interoperabilidad que utilizan sus ventajas comparativas para proporcionar la mejor combinación de ingredientes para su proyecto.

La forma más fácil para empezar a utilizar los componentes de PHP es instalar el gestor de paquetes Composer package manager  y comenzar a navegar por el repositorio Packagist component repository.

Normas de la Comunidad

Debido a la nueva comunidad de PHP es grande y diversa, con un gran número de componentes, es importante que los componentes se adhieren a un conjunto de pautas de estilo de código e interfaces comunes. Esto permite a los desarrolladores empezar a utilizar nuevos componentes con menor curva de aprendizaje, y permite a los componentes trabajan juntos con mayor facilidad a través de interfaces comunes.

La PHP Framework Interop Group  (PHP-FIG para abreviar) es un grupo no oficial pero autorizada de desarrolladores de frameworks y representantes de la comunidad PHP, cuyo objetivo es “hablar de los puntos comunes entre nuestros proyectos y encontrar maneras en que podemos trabajar juntos.” El PHP-FIG ha pasado cuatro normas hasta el momento: PSR-0 , PSR-1 , PSR-2 y PSR-3 . Estas normas proponen convenciones de archivos, de clase y espacio de nombres, guías de estilo de código, y un conjunto de interfaces comunes para animar componentes y marco de interoperabilidad.

PHP-FIG no es de ninguna manera la ley de la tierra, pero sus estándares sugeridos están siendo adoptados por muchos de los frameworks más populares de PHP. Sus objetivos son admirables, y da la bienvenida a la retroalimentación. Yo le animo a pensar en poner en práctica las normas de PHP-FIG en su código PHP y enviar sus comentarios a las futuras propuestas de PHP-FIG.

Rendimiento

También hay cosas interesantes que suceden con PHP bajo el capó, El PHP Zend Engine introdujo recientemente optimizaciones en el uso de la memoria. El uso de memoria en PHP 5.5 es mucho menor que las versiones anteriores. El PHP Zend Engine también proporciona un built-in FastCGI process manager  que normalmente se sienta detrás de un proxy inverso (por ejemplo nginx) para gertionar y ser el generador de procesos. Esto alivia la necesidad de incorporar nuevas instancias de PHP en cada proceso de Apache utilizando el módulo de Apache mod_php.

Facebook también ha hecho grandes progresos en su motor alternativo de PHP de código abierto, la máquina virtual HipHop (HHVM). HHVM utiliza una técnica de compilación just-in-time para proporcionar un rendimiento increíble al mismo tiempo que permite la facilidad de uso a la que estamos acostumbrados los desarrolladores de PHP. Al igual que PHP Zend Engine, HHVM también incluye soporte FastCGI. El objetivo del HHVM a principios de 2014 es de poder pasar al 100% los test unitarios de los veinte primeros frameworks PHP, se anunció recientemente el desarrollo de una hoja de ruta para los próximos seis meses. Mantenga un ojo en HHVM. Tengo la sensación de que va a cambiar drásticamente el paisaje de PHP en los próximos años.

Autor: JOSH LOCKHART
Post Original: http://programming.oreilly.com/2014/03/the-new-php.html
Titulo: The new PHP
Traducción: Benjamín Gonzales

Benjamín

Soy Benjamín Gonzales B, desarrollador de Software con más de 10 años de experiencia, me apasiona todo lo relacionado a las nuevas tecnologías y el software libre. Me gusta investigar , leer y aprender cada día algo nuevo. Desarrollo en LINUX,PHP, JAVA, C#, Javascript, MySql, SqlServer, entre otros y actualmente ando experimentando con lenguajes funcionales como: Erlang, Clojure y Scala. Y otros no funcionales como GO.

Latest posts by Benjamín (see all)

El nuevo PHP
Compartir
Tweet about this on TwitterShare on Facebook5Share on Google+0Share on LinkedIn0Email this to someonePin on Pinterest0Share on Tumblr0Share on Reddit0Share on StumbleUpon0
Etiquetado en:                                            

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *