martes, 29 de enero de 2013

Servidor REST con Slim


Son las tres de la tarde en una calurosa siesta de verano Asuncena, derritiéndome en el fondo decido como siempre la salida mas tonta y mando post.

Yo se que como yo, vos, querido lector, sos un tremendo jeropa. Y como buen jeropa, buscas siempre la salida mas fácil. No por algo el otrora gran señor de Mordor Bill Gates admiraba a los haraganes diciendo que nosotros, los jeropas, siempre encontramos la manera mas fácil de hacer algo.

Así, llevando la bandera de los jeropas unidos de habla hispana, aquí les traigo la mejor alternativa para un jeropa de hacer un servidor REST con PHP.

Si, solución jeropa #1, fácil de escribir, fácil de entender, y por sobre todo, funciona out-of-the-box.

Pero yo se que vos estas pensando. A si, vas a decirnos que el framework choto este hace esto y aquello, pero no me vas a mostrar nada útil, yo quiero un ejemplo real negro. Pero no, esta vez me la tome en serio querido jeropa, te la meto hasta con un ejemplo de vida real, así que vamos empezando.

Breve Introducción

REST


Vos como todo fashionista del código, odias urls/uris como :
www.xxx.com/id=?3123&cat=melafo&type=tuhermana

Decís, pucha che, tantos gets ahí tirados y horribles, quiero que sea mas pro, quiero una url linda
www.xxx.com/melafo/a/tuhermana , por ejemplo.

Y bueno, eso es básicamente rest... (explicación mas cutre no vas a encontrar)
Claro, también te permite asociar cosas a las distintas operaciones de http. Por ej.
POST - Crea, GET - Obtiene, PUT - Modifica, DELETE - Borra. Y ahí ya tenemos un lindo CRUD.
Mas lindo lo tiene la wiki en un lindo cuadrito que pueden ver acá [1]

Slim Framework


Slim Framework es un micro framework que te permite escribir apis de manera rápida, según su web [2]
Por ejemplo,

. .
Eso seria suficiente para que cuando hagas asd.asd/hello/JuanchoTalagarga . Te devuelva un «Hello, JuanchoTalgarga»

Mucho weri weri y nada útil, vamos al grano.

El Grano


Vamos a hacer algo sencillo, tengo un amigo que vende  chespi a domicilio. El crack es algo que esta en auge, así que le dije, sabes que, yo puedo hacer que pases de ser un simple manija de barrio a un Pablo Escobar, y usar para ello «LA INFORMATICA!!!» *aaahhhh* *se ilumina*
Asi que veamos como podemos ayudar a nuestro amigo manija.
Hagamos que «Chipi el vendedor de Chespi» tenga una aplicación en su smartphone recién choreado que le diga donde tiene que hacer una entrega, a que hora, cuanto, y el nombre y teléfono del cliente.
Entonces, el amigo Chipi tendría una BD chiquita, una tablita que seria algo así.

ENTREGA
========
id
nombre
teléfono
hora
dirección
cantidad

Fácil y rápido, una tabla pequeña.
Ahora, pensemos en la app del teléfono, seria algo sencillo, tenes dos botones, uno para cargar un pedido y otro para ver la lista de pedidos, en la pantalla de ver los pedidos tendrías un listado de los pedidos en forma tabular si es posible o en forma de lista, y en la de cargar los pedidos tendrías un formulario pequeño.

Teniendo en cuenta la variedad de dispositivos que tiene Chipi, por su poca estabilidad económica. Debería ser multiplataforma no?. Entonces podríamos usar JqueryMobile para esto.

Asi que hacemos algo parecido a esto :

. .


Esa seria la vista, pero seguro estas preguntándote. “Y el puto Slim, donde mierda usas!?”
Tranquilo negro, tranquilo...Tenemos algo lindo en la pantalla de «Chipi» y una linda BD llena de adictos en nuestro servidor. Pero eso no hace una mierda gil, así que necesitamos escribir el código del servidor que relacione esta vista chota con la persistencia, y ahí, querido jeropa de mierda es donde entra Slim a facilitarnos la vida.

Y lo hace así de fácil negrito

. .

Con eso en nuestro servidor y todos los alambres para que funcione bien, tendríamos algo funcionado para que nuestro amigo «Chipi» pueda traficar en paz

Ver Demo Online [3]

2 comentarios:

  1. +1 valdez..por ser un gordo tan sexy ;)

    ResponderEliminar
    Respuestas
    1. Gracias por comentar Emo Girl, le regalare un paquete de criollitas para que le corte todo mal a Latex :P

      Eliminar

Seguidores