Mi estimado colega, el mexicano Carlos Madrigal ha liberado un Podcast sobre PHP5. Los invito a escucharlo y a disfrutar del programa.
De la misma forma, aunque nuestros intereses pasen solo por temas como PHP o Software Libre, la mayoría de los podcast son muy didácticos, y cual más cómico y divertido (yo mismo me he encontrado escuchando programas por solo el hecho de escuchar las ocurrencias de Carlos ;-)
Podcast: PHP5
PD: tarde, pero lo publiqué.
Como convertirse en un "Desarrollador PHP Senior" y no morir en el intento... escrito por Enrique Place
"Rasmus Lerdorf, PHP y los frameworks"
En EstadoBeta, comentan el polémico artículo escrito por el autor de PHP:
Y esta es mi opinión al respecto:
Sorprende, pero no tiene que alarmarnos, la evolución del lenguaje no depende de una sola persona y de su visión personal. A pesar que el autor piensa de esta forma, PHP5 ha evolucionado hacia un nivel similar al J2SE (Java2 Standard Edition), y están tratando de llegar con PHP6 y el Framework de Zend al nivel de J2EE (Java 2 Enterprise Edition).
¿Qué significa?
Estoy de acuerdo que el nivel general de los desarrolladores de PHP están aún en la programación estructurada, un número importante se ha pasado a un “híbrido” (estructurado con uso de objetos), una minoría a un uso “puro” (enteramente Orientado a Objetos) y muy contados casos, cuentan con el conocimiento de los Patrones de Diseño (y generalmente, son programadores que vienen del mundo J2EE, donde es muy común su uso).
De todas formas, creo que existe una explicación racional. Muchos sitios web no superan la complejidad básica de mostrar muchas páginas estáticas y un 10% de dinamismo, que se puede resolver rápidamente con pocas funciones estructuradas.
El problema es:
La programación “OO” no es una simple moda; no hay lenguaje o tecnología que no haga uso de ella.
Enlaces
"Rasmus Lerdorf, creador de PHP, publicó el Lunes recién pasado una nota donde recomienda no usar frameworks de desarrollo y, en general, tender hacia un estilo procedural de programación - o sea evitar el uso de clases y objetos o “desarrollo en capas”, algo por desgracia frecuente en el mundo PHP-.
Estas recomendaciones parecen contravenir la tendencia actual hacia un desarrollo más estructurado y sostenible, representado por un sinnúmero de frameworks de desarrollo y una reconsideración de los lenguajes “de scripting” como PHP, Python o Ruby en el mundo “Enterprise” (donde por lo general han primado metodologías más estrictas y estructuradas como J2EE o .NET).
El artículo es especialmente desconcertante viniendo del creador del lenguaje, especialmente con el advenimiento de PHP5 y 6 que han centrado sus esfuerzos en mejorar el modelo de objetos para competir abiertamente con Java y .NET (y ahora Ruby!).
Los comentarios alarmados no se hicieron esperar en el sitio. Incluyendo los mios."
Y esta es mi opinión al respecto:
Sorprende, pero no tiene que alarmarnos, la evolución del lenguaje no depende de una sola persona y de su visión personal. A pesar que el autor piensa de esta forma, PHP5 ha evolucionado hacia un nivel similar al J2SE (Java2 Standard Edition), y están tratando de llegar con PHP6 y el Framework de Zend al nivel de J2EE (Java 2 Enterprise Edition).
¿Qué significa?
Las empresas, el mercado, y en particular, los desarrolladores, están dictando el camino.
Estoy de acuerdo que el nivel general de los desarrolladores de PHP están aún en la programación estructurada, un número importante se ha pasado a un “híbrido” (estructurado con uso de objetos), una minoría a un uso “puro” (enteramente Orientado a Objetos) y muy contados casos, cuentan con el conocimiento de los Patrones de Diseño (y generalmente, son programadores que vienen del mundo J2EE, donde es muy común su uso).
De todas formas, creo que existe una explicación racional. Muchos sitios web no superan la complejidad básica de mostrar muchas páginas estáticas y un 10% de dinamismo, que se puede resolver rápidamente con pocas funciones estructuradas.
El problema es:
- ¿podremos avanzar al próximo nivel cuando nuestros desarrollos cambien y se necesite sitios más complejos?
- ¿podremos desarrollarlos programando “estructurado”, o peor aún, como si fueran simples scripts?
- ¿seremos productivos?
- ¿podremos mantenerlos?
- ¿a que costo?
La programación “OO” no es una simple moda; no hay lenguaje o tecnología que no haga uso de ella.
Enlaces
PHP sigue en carrera: se viene PHP6 y Framework
"El lenguaje PHP cumplió 10 años en 2005 y promete seguir expandiendo su territorio en 2006 gracias al próximo lanzamiento de su versión 6.
En cuanto al lanzamiento de la versión 6 -que se producirá en algún momento de 2006- los expertos afirman que una de sus principales ventajas será la utilización de UNICODE. Este sistema provee una manejo universal de los caracteres, sin depender de ninguna plataforma en particular.
Por otra parte, en enero de 2006 se publicarán las primeras bases del “PHP Collaboration framework”, una iniciativa para crear un nuevo entorno de implementación y desarrollo para PHP. Se espera que esta iniciativa pueda acercar a PHP al ámbito corporativo para competir de igual a igual con otras plataformas como .NET y Java.
De esta manera, a partir de 2006 coexistirán en el mercado tres versiones distintas de PHP: la 4, la 5, y la 6."
Noticia completa en:
NoticiasDot.com
En cuanto al lanzamiento de la versión 6 -que se producirá en algún momento de 2006- los expertos afirman que una de sus principales ventajas será la utilización de UNICODE. Este sistema provee una manejo universal de los caracteres, sin depender de ninguna plataforma en particular.
Por otra parte, en enero de 2006 se publicarán las primeras bases del “PHP Collaboration framework”, una iniciativa para crear un nuevo entorno de implementación y desarrollo para PHP. Se espera que esta iniciativa pueda acercar a PHP al ámbito corporativo para competir de igual a igual con otras plataformas como .NET y Java.
De esta manera, a partir de 2006 coexistirán en el mercado tres versiones distintas de PHP: la 4, la 5, y la 6."
Noticia completa en:
NoticiasDot.com
Smarty: Respetar los "retorno de carro" de un texto de nuestra base de datos
Caso: levantamos un campo de texto de nuestra base de datos que tiene un formato con retornos de carro, es decir, tiene escritos tres párrafos separados con un [Enter].

Si nosotros tomamos ese campo, tal cual, y lo incluimos en nuestra plantilla html, nuestro texto quedará todo junto sin saltos.
Si visualizamos el código que estamos viendo desde nuestro navegador, el texto aparecerá con los "saltos de carro" correctos.

¿Por qué sucede esto?
Bueno, en HTML solo se toma en cuenta *un solo espacio*, los restantes no son tenidos en cuenta, ni tampoco los comandos que representan "retorno de carro" (\n) o los tabuladores (\t), etcétera.
¿Cómo podemos solucionarlo con Smarty?
Una expresión regular que toma el contenido "en bruto" y busca los comandos "\n" y los sustituye con un "salto de línea" en formato HTML.

De la misma forma, podríamos hacer con los "\t", y agregándoles, por ejemplo, una serie de espacios en formato html:
Simple, sencillo, directo ;-)
PD: estoy casi seguro que esta "estrategia" está escrita en algún lado, tal vez en el manual del Smarty, o en un artículo (porque vino demasiado rápido a mi cerebro ;-).

Si nosotros tomamos ese campo, tal cual, y lo incluimos en nuestra plantilla html, nuestro texto quedará todo junto sin saltos.
Si visualizamos el código que estamos viendo desde nuestro navegador, el texto aparecerá con los "saltos de carro" correctos.

¿Por qué sucede esto?
Bueno, en HTML solo se toma en cuenta *un solo espacio*, los restantes no son tenidos en cuenta, ni tampoco los comandos que representan "retorno de carro" (\n) o los tabuladores (\t), etcétera.
¿Cómo podemos solucionarlo con Smarty?
Una expresión regular que toma el contenido "en bruto" y busca los comandos "\n" y los sustituye con un "salto de línea" en formato HTML.
Resultado: si tiene un solo "retorno" (\n) se coloca un "break", si tiene dos, agrega dos "break", dando el efecto de separación con linea en blanco.
{$elemento.texto_noticia|regex_replace:"/[\n]/":"<br>"}

De la misma forma, podríamos hacer con los "\t", y agregándoles, por ejemplo, una serie de espacios en formato html:
Simple, sencillo, directo ;-)
PD: estoy casi seguro que esta "estrategia" está escrita en algún lado, tal vez en el manual del Smarty, o en un artículo (porque vino demasiado rápido a mi cerebro ;-).
Smarty: Sitios "multi idioma"
En este pequeño post nos cuenta como se puede armar una estructura que permita crear sitios que manejen varios idiomas, o por lo menos, tener una versión que soporte más de un idioma.
Fuente: Buayacorp
Fuente: Buayacorp
"Por qué nunca seremos Rails (Parte 1)"
"Y después del explosivo éxito que el año pasado tuvo Rails como framework para el desarrollo web, todo el mundo PHP quiere llevar esa misma magia al lenguaje más popular en los servidores de Internet. Desde la mismísima Zend para abajo, todos quieren ser el próximo Rails. Pero ¿es ésta una tarea en la que PHP puede triunfar?"
Artículo completo en: VivaPHP
Smarty: Manejo de Fechas; el "Copyright"
Es muy común que cuando cambiamos de año, como en este caso de 2005 a 2006, lo primero que queda desactualizado son los mensajes de "Copyright". En estos casos se manejan formatos del tipo:
Donde se maneja un rango de años, desde el inicio del sitio hasta la fecha actual.
Nota: ni idea si esta "formalidad" tiene algún peso legal, y si está basado en alguna norma, o simplemente nos fuimos copiando unos a otros hasta que se hizo "estándar".
Que sucede: en los sitios estáticos (es decir, su contenido solo cambiará si es modificado a mano) la fecha actual deberá ser actualizada, cambiando el año 2005 por el 2006.
Lo peor que podría pasar es que el sitio no fuera "modular", es decir, que cada página de nuestro sitio no tuviera "ciertos contenidos" centralizados que al modificar en un único lugar impacten en todo el sitio web.
Por ejemplo, este es un caso. Si nuestro sitio es completamente estático y cuenta con 50 páginas, deberemos recorrer y modificar el año de Copyright de las 50. Si, verdaderamente grave si para algo tan sencillo, debemos hacer tanto trabajo.
En mi caso, esta zona la considero como el "pie" del sitio, como así
también existe el "cabezal", y se encuentra en un solo archivo que es
incluido por todas las páginas del sitio. Editamos el archivo, cambiamos el año a 2006, y problema solucionado.
A pesar de todo, me queda el "retrogusto amargo" de que el año que viene tendré el mismo problema ;-), por lo consiguiente llegué a la conclusión que el último año es una información dinámica que debe darla el sistema: "el año actual"
Que podemos cambiar la línea siguiente por:
Si, di una introducción larga para darle un poco más de sentido a tan poco código ;-)
Enlaces relacionados:
¡Suertempila!
Copyright 1995-2005 - República de los Jedis
Donde se maneja un rango de años, desde el inicio del sitio hasta la fecha actual.
Nota: ni idea si esta "formalidad" tiene algún peso legal, y si está basado en alguna norma, o simplemente nos fuimos copiando unos a otros hasta que se hizo "estándar".
Que sucede: en los sitios estáticos (es decir, su contenido solo cambiará si es modificado a mano) la fecha actual deberá ser actualizada, cambiando el año 2005 por el 2006.
Lo peor que podría pasar es que el sitio no fuera "modular", es decir, que cada página de nuestro sitio no tuviera "ciertos contenidos" centralizados que al modificar en un único lugar impacten en todo el sitio web.
Por ejemplo, este es un caso. Si nuestro sitio es completamente estático y cuenta con 50 páginas, deberemos recorrer y modificar el año de Copyright de las 50. Si, verdaderamente grave si para algo tan sencillo, debemos hacer tanto trabajo.
En mi caso, esta zona la considero como el "pie" del sitio, como así
también existe el "cabezal", y se encuentra en un solo archivo que es
incluido por todas las páginas del sitio. Editamos el archivo, cambiamos el año a 2006, y problema solucionado.
A pesar de todo, me queda el "retrogusto amargo" de que el año que viene tendré el mismo problema ;-), por lo consiguiente llegué a la conclusión que el último año es una información dinámica que debe darla el sistema: "el año actual"
Código original
<!--{strip}-->
<div class="footer">
<p>Copyright 1995 - 2006 - República de los Jedis</p>
</div>
<!--{/strip}-->
Que podemos cambiar la línea siguiente por:
<p>Copyright 1995-<!--{$smarty.now|date_format:"%Y"}--> - República de los Jedis</p>
Si, di una introducción larga para darle un poco más de sentido a tan poco código ;-)
Enlaces relacionados:
¡Suertempila!
Molins framework para PHP5
"Molins es un framework orientado a objetos para PHP5 (que cumple rigurosamente el modo E_STRICT), basado en el estándar de Java y alguno de los proyectos de Jakarta, como lo son Struts o Torque.
Aún no alcanzando una versión estable, pero en su corta edad, ya cuenta con soporte casi completo para el modelo MVC de Struts, así como también herramientas para hacer logging, un 'package' gráfico, seguridad, etc. Está realizado por un grupo de desarrolladores de Barcelona y espera ansioso vuestras opiniones."
Fuente: programacion.com
"Consejos para escribir bibliotecas en PHP"
Cito el siguiente artículo traducido por la gente de MilDiez:
"Traduzco libremente este post en LaughingMeme: 20 pequeños consejos que deberíamos tener en cuenta antes de escribir una biblioteca de funciones en PHP.Artículo completo: Consejos para escribir bibliotecas en PHP
Muchos de estos consejos pueden ser aplicados al desarrollo web en general y están enfocados a maximizar algunos de los principios básicos de la programación: ocultación de la información, abstracción, reutilización y encapsulación".
"Biscuit: otro framework PHP MVC"
"Framework basado en Ruby on Rails que transa muchas de las ventajas de la OOP con tal de ser extremádamente fácil de usar."
Artículo completo en: EstadoBeta
Artículo completo en: EstadoBeta
Suscribirse a:
Entradas (Atom)
Entradas populares
-
He visto mucha documentación que habla sobre el tema de los métodos "getter / setter", o traducido al castellano los métodos ...
-
Esto es lo que pasa cuando tienes entornos que no son homogéneos y cada aplicación se encuentra ubicada en distintas márgenes de un "rí...
-
Uno de los problemas que me he encontrado con la versión 5 de PHP es la falta de la representación de los "paquetes" desde el prop...
-
Este es un resumen de conclusiones que se vertieron en una discusión sobre el tema en Foros de Web , donde se plantea la duda de si PHP5 ...
-
Este es un ejemplo publicado a partir de la duda de un usuario , y como son preguntas que se hacen reiteradamente, les dejo el ejemplo aquí ...
-
Esta reflexión se la escribo a todos los "Programadores PHP": Al día de hoy la mayoría de los institutos o universidades de muchos...
-
El Patrón " Singleton " sirve para cuando buscamos restringir la creación de instancias de un objeto, obligando que solo se pueda ...
-
Bueno, luego de revisarlo una y otra vez (y otra vez) ya se encuentra terminada la primer versión del libro que junta toda la experiencia ac...
-
Hace un tiempo que vengo recomendando esta presentación como punto de partida para definir un estándar de desarrollo en una empresa. En ambi...
-
Estoy viendo muy seguido en foros que frecuento regularmente a muchos programadores que quieren dar " el gran salto " y evolucion...