Centralización de constantes para Symfony2 y Twig

A la hora de trabajar con proyectos grandes nos encontramos generalmente con la necesidad de usar ciertos códigos o IDs (PKs) en duro dentro de la lógica de la programación. El caso que posiblemente sea el más usado, es cuando intentamos validar ciertas acciones dependiendo de los estados de los objetos.

Supongamos un caso sencillo como por ejemplo la lista de usuarios del sistema, en donde necesitamos agregar un botón para activarlos o inactivarlos de acuerdo a esta pequeña lógica:

  • Si el usuario se encuentra “activo”, el botón debería ser rojo con un texto “Inactivar Usuario”
  • Si el usuario se encuentra “inactivo”, el botón debería ser normal con un texto “Activar Usuario”

Esto por lo general se traduce en un código de lógica de presentación de una manera parecida a la siguiente, tomando en cuenta que el ejemplo se encuentra dentro de una layout de Symfony2 con twig y Twitter Bootstrap:


{% if usuario.estado == 'A' %}
    <button type="button" class="btn btn-danger">Inactivar Usuario</button>
{% elseif usuario.estado == 'I' %}
    <button type="button" class="btn">Activar Usuario</button>
{% endif %}

Continúa leyendo Centralización de constantes para Symfony2 y Twig

Enviar logs a un syslog centralizado con Symfony2 y Monolog

Recientemente me vi en la necesidad de enviar los logs de un sistema hecho con Symfony2 al syslog de la empresa y la sorpresa es que ni en la documentación de Symfony ni en la documentación de Monolog hay mucha información sobre este tema, así que voy a ver de documentar las pruebas aquí para que sirva de referencia a quiénes lo intenten.

La configuración de monolog en Symfony es un poco confusa, no tanto por como configurarlo sino porque hay que conocer varios conceptos e ir probando.

En uno de los cookbooks del sitio oficial de Symfony se puede encontrar este artículo que explica como usar diferentes handlers para tratar los logs. En el ejemplo se puede ver el siguiente código yml:

Continúa leyendo Enviar logs a un syslog centralizado con Symfony2 y Monolog

Servicios REST usando Silex micro-framework 3/3 – Cliente

Ya hace un tiempo que escribí el primer y segundo artículo de esta serie sobre Servicios REST y Silex. En esa época había creado un repositorio en mi cuenta de GitHub para almacenar un ejemplo de como crear un servidor REST utilizando Silex el micro-framework PHP que sería como el hermano menor de Symfony.

Utilizo Silex porque es realmente fácil crear rápidamente un proyecto de ejemplo pero en realidad de expone la idea para utilizarlo con PHP, pudiéndose adaptar rápidamente el ejemplo a algún otro framework como Symfony2 o incluso hacerlo desde cero con PHP.

Con ayuda de algunas personas, a quienes agradezco por los comentarios que dejaron en los artículos, he realizado algunas modificaciones y creo que nos ha quedado un proyecto base interesante para tenerlo como estructura base.

Hay que tener en cuenta que hoy en día la nueva versión de Silex ha
cambiado un poco en cuento a su instalación con relación al último
artículo. Utilizaremos para este artículo la nueva versión y con el
tiempo haremos las modificaciones en el ejemplo del servidor.

Hoy quiero hablar sobre como podemos consumir ese servicio creado, es decir, crear un cliente para REST utilizando Silex. Hay que recordar que nuestro servicio REST nos devuelve siempre respuestas por medio de los códigos de estados del protocolo HTTP (puedes verlo en la wiki) y en los casos que tiene que devolvernos datos como sería la ruta /ver-comentarios.json, lo hará utilizando el formato JSON. Esto es importante saber ya que para que nuestro cliente obtenga los comentarios del ejemplo tenemos que saber que obtendremos una respuesta JSON la cual tendremos que procesar para mostrarlo en nuestro cliente.

Continúa leyendo Servicios REST usando Silex micro-framework 3/3 – Cliente

Guía de Symfony2 – Maestros del Web – Indice de capítulos

Portada de la Guía de Symfony2 en Maestros del Web

Symfony2 es un framework de desarrollo PHP para profesionales. En conjunto con Maestros del Web y Maycol Alvarez hemos escrito esta guía sobre este framework para dar opciones a los desarrolladores PHP a encontrar material importante y poder tener rápidamente un conocimiento de todo el framework para iniciar un proyecto contando con las nociones necesarias para ello.

La guía se encuentra publicada en sitio de Maestros del Web pero abajo les dejo el índice de los capítulos de la guía y el link a los resúmenes semanales que fui escribiendo.

Cualquier comentario o pregunta las espero abajo.

También puedes descargar la guía desde aquí

Esperare sus comentarios.

Guía de Symfony2 – Maestros del Web – Indice de capítulos, 5.0 out of 5 based on 3 ratings

Guía de Symfony2 – Maestros del Web – Palabras finales

Finalmente hemos llegado al último capítulo de la Guía de symfony2, un proyecto con meses de trabajo y varias horas de mucho esfuerzo creando ejemplos y buscando la mejor manera de explicar lo que realmente considero una introducción a este framework tan interesante.

Fue el primer proyecto (espero que de muchos más) en el que tengo la suerte de trabajar conjuntamente con Maestros del Web, un sitio de referencia que siempre lo tuve muy presente dentro de lo que formaba parte de mis investigaciones.

Desde el 19 de enero del 2011 cuando tuve la oportunidad de hablar con Debora Lambrechts del equipo de Maestros del Web y le propuse trabajar con un proyecto de artículos sobre Symfony hasta el día de hoy han pasado tantas cosas que lo único que puedo decir es que me ayudó a crecer y a colaborar con la gran comunidad de Internet donde se siente una fuerte necesidad de aprender.

Continúa leyendo Guía de Symfony2 – Maestros del Web – Palabras finales