Icono del sitio KumbiaPHP Framework PHP en español

Servicios REST con KumbiaPHP

KumbiaPHP incorpora un controlador llamado RestController el cual nos viene de gran  ayuda al momento de crear servicios REST ya que nosotros solo nos preocupamos por los datos a devolver  y manipular los recibidos y este controlador le dará formato en json, xml o csv según corresponda o nosotros especifiquemos.

Ahora veremos cómo empezar!!

Crearemos un controlador como siempre lo hemos realizado con la diferencia que ahora lo vamos a extender de RestController

En el código anterior he creado un controlador llamado services, el cual al momento de recibir una petición GET invocara a la acción get, Por default cada acción se llama como el método usado por el cliente  como pueden ser  GET, POST, PUT, DELETE, OPTIONS, y demás.

Por lo cual en un controlador REST podríamos tener al menos 4 acciones

Public function get($id){}

Public function post($id){}

Public function put($id){}

Public function delete($id){}

Pero muchas veces necesitamos algo más que eso, para ello podemos hacer uso de la convención de nombre para servicios rest de KumbiaPHP el cual es:

get_nombre_accion()

post_nombre_acccion()

Por ejemplo en la clase servicio tendré un método para buscar un artículo, mi método se llama buscarArt y cómo va atender las peticiones get pasara a llamarse get_buscarArt($id) quedando de la siguiente manera:

Como se puede observar el formato de salida es Json, en la siguiente imagen vemos los datos devuelto por la aplicación.

POST

Ahora mi aplicación en el lado del cliente enviara al servidor la información para guardar la nota venta, dicha petición será mediante post.

En este caso como no especifico la acción a guardar KumbiaPHP por default  buscara y ejecutara la acción post.

Ahora para recibir la información que estoy enviando desde el cliente, simplemente invocamos al método $this->param(); el cual contendrá los datos enviados.

Como observamos empiezo por recorrer los artículos enviados en el carrito y posteriormente los datos de la venta.

Al final le regresare prácticamente la misma información al cliente, pero si observamos ahora el id tiene ya un valor, lo que el cliente interpretara que la inserción fue correcta.

Para regresar lo anterior de la imagen: en cada iteración del carrito y conforme guardaba un artículo en base de datos, también lo almacenaba en un array, para los primeros tres datos solo se sobrescribían (esto se puede optimizar)

Salir de la versión móvil