PHP y programación funcional: reutilización de código sin orientación a objetos… y más.
22-05-2009
Luis Artola
Clasificado como:
DESARROLLO DE SOFTWARE ,
Inyección de dependencias ,
PATRONES DE DISEÑO ,
PHP ,
PHP 6 ,
WEBDEV ,
phar, php 5.3, PHP 6, php closures, php lambda functions, php traits
Cada vez está más cerca la llegada de PHP 5.3 y sus novedades a la hora de escribir código funcional con PHP. La verdad es que no me quedaban claras las ventajas de escribir éste tipo de código a parte de cambiar el estilo y hacer algunas cosas de manera más elegante. ¿Realmente vale la pena el viaje? Tras googelear y leerme una buena cantidad de artículos os dejo aquí los que más me han convencido. Especialmente os recomiendo uno de Procata donde realmente puede adivinarse la posibilidad de obtener una buena reutilización de código sin incurrir en sobreingeniería (overengineering) con la orientación a objetos (una cosa que creo que hago de vez en cuando, o esa sensación me queda….)
- Una estupenda entrevista con Lukas Kahwe Smith, el gestor de wiki.php.net, contándonos lo que vendrá en php 5.3: namespaces, closures, lamda functions, PHAR (que será algo parecido a los WAR en Java) y lo que vendrá en PHP 6: traits y Unicode. Además, habla de las mejoras en el rendimiento de PHP 5.3 y de cómo cree que no habrá ningún PHP 5.4. Nos habla de la incompatibilidad hacia atrás de PHP 6 y que no cree que será un problema para su adopción. Veremos.
- Aquí un post explicación las bondades de las lambda functions y las closures, pero afirmando que son una alternativa a la forma clásica de escribir código, pero no una auténtica mejora. Luego escribe, una segunda parte del artículo explicando cómo escribir código PHP al estilo de jQuery.
- En Procata contestan a los dos artículos anteriores con un ejemplo donde, la programción funcional (con lambda y closures) si supone una auténtica ventaja frente a la tradicional a la hora de escribir código reutilizable y limpio.
- Otro artículo revisando las ventajas de éstas nuevas funcionalidades. Por un lado comenta las ventajas evidentes de usarlo con array_map, array_reduce, etc… y por otro lado analiza la manera de utilizarlo como forma de inyección de dependencias.
- Artículo explicando que la programación funcional es una gran opción a la hora de reutilizar código y que muchas veces puede sustituir a la orientación a objetos.
- Y un último anuncio: closures y la programación funcional también llegarán a Java!
Para aquellos que, como yo, usen el Zend Framework para todo lo que pueden, os recuerdo que Zend Framework 2.0 saldrá al calor de PHP 5.3 y en algún aspectos será incompatible hacia atrás…
[...] programania nos ofrecen un recopilatorio de artículos en los que se opina sobre las ventajas y [...]
[...] Programacion funcional en PHP II [...]