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

Servicios REST usando Silex micro-framework 2/3

Dando continuidad al artículo anterior sobre servicios REST usando el micro-framework Silex, hoy hablaremos sobre la implementación del código que fue publicado en GitHub como base de este proyecto.

NOTA: En este artículo veremos lo esencial del código usado para este
proyecto pero se aconseja primeramente una lectura de la documentación
oficial de Silex
. En caso de conocer como funciona Symfony2 esto te
será muy familiar.

Objetivo y alcance del Proyecto

El proyecto que usaremos se basará en crear una tabla de comentarios y realizar servicios REST para lograr un CRUD (create, read, update, delete) de la misma.

NOTA: La sentencia SQL para crear la tabla y otras utilidades las
podrán encontrar en la WIKI del proyecto cuya dirección se encuentra
en el archivo README.md en la raíz del proyecto.

Tendremos 4 servicios REST definidos en el proyecto:

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

Servicios REST usando Silex micro-framework 1/3

Mucho se habla hoy en día sobre arquitectura orientada a servicios es decir, tener un servicio que de alguna manera encapsula una lógica con sus problemáticas correspondientes y proporciona un resultado que responde a la invocación de ese servicio.

Por lo general, la información que se muestra en una página es resultado de un proceso, como por ejemplo una búsqueda de datos en la base de datos. Cuando queremos mostrar una noticia, enviamos por parámetro GET a una página el Id de la noticia, al momento en que la página recibe ese dato, lo obtiene y realiza una búsqueda de datos obteniendo un ResultSet que luego es procesado por nosotros y el resultado final es mostrado en la página en un formato que por lo general será decidido por el diseño del sitio.

Hemos hablado de dos partes bien marcadas en el ejemplo anterior:

  1. Desde que recibimos el Id como parámetro, se ejecuta un proceso que correspondería, en una arquitectura MVC, a la “C” o Controller, que procesa dicha información también llamados Actions y luego cuando ya tenemos los datos finales,
  2. la presentación correspondería a la “V”, es decir la Vista. Estos son conceptos que fácilmente son entendidos por cualquier desarrollador que haya usado algún framework MVC como por ejemplo Symfony.

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