Angular 4AngularJSIONICJSONPHP

API con PHP y Slim

En la actualidad existen varias maneras al momento de programar la parte backend de nuestra aplicación o, al momento de hacer peticiones al servidor, una de las mas usadas en la actualidad son las APIS, en este tutorial, mostrare dos maneras rápidas para crear una API y consumirla:

Simular una API

Esta es una manera muy simple (que varias veces me ha salvado la vida papra salir del apuro xD!), en la cual generamos un archivo al cual le pasamos un valor mediante GET, y luego con un simple SWITCH podemos realizar la tarea específica

  • Ventajas:
    • Desarrollo fácil y rápido
    • Bastante ligero
    • No hay necesidad de librerías externas
  • Desventajas:
    • La única desventaja, es el método de envió de datos en los métodos POST y PUT, es decir, que usando este método, los datos enviados solo pueden ser enviados mediante FORMDATA, y no mediante el BODY, por lo tanto hace imposible el envió de información mediante JSON.
  • Ejemplo
    Un claro ejemplo, utilizo en el post CRUD con IONIC + PHP + Mysql en la cual se consume información desde MySQL simulando una API.

Implementar una API

Para crear nuestra propia API, vamos a utilizar la librería Slim (Pagina Oficial), que actualmente, se encuentra en la version 3, pero para no utilizar el gestor de dependencias Composer, vamos a utilizar la versión 2 (los archivos están en el repositorio ubicado al final)

  • Ventajas
    • Soporta todos los métodos de envió (GET, POST, PUT, DELETE).
    • Podemos enviar variables tipo JSON a los metodos POST y PUT.
    • Rutas mas fáciles y rápidas de entender
    • Estándar utilizado para aplicaciones SPA, Moviles, etc
  • Desventajas
    • Se requiere de librerías externas (Slim).
    • Se necesita un poco mas de conocimiento (pero no mucho)
    • Para utilizar Slim3 se requiere necesariemente Composer :'(

Para empezar con el codigo, primero revisaremos la estructura:

Como podemos ver en la estructura, solo tenemos la librería Slim y una carpeta llamada PRODUCTOS, que se convertirá en nuestra API.

Los archivos FUNCIONES.PHP y PRODUCTOS.PHP son archivos que ya hemos venido usando en otros post, el primero, para definir nuestra conexión a la base de batos, funciones, etc, y el segundo es el archivo que simula el funcionamiento de la API, el cual utilizaremos para copiar las funciones que vamos a usar.

A continuación, veremos el código para los métodos GET y POST de nuestra API:

Hasta el momento hemos realizado nuestra API, pero si nosotros quisieramos consumir el metodo POST, tendriamos que ingresar la direccion api/productos/index.php/crear, para evitar esto, vamos a modificar nuestro archivo .htaccess y colocar el siguiente codigo:

Una vez terminado estos dos pasos, ya podemos probar nuestra API de las siguientes maneras:

  • Para probar el metodo GET, solo es necesario entrar a nuestro navegador e ingresar a nuestro navegador y acceder la URL en la cual tenemos nuestra API:
  • Si queremos probar el metodo POST, podemos realizar los test con una herramienta llamada POSTMAN, una vez instalada, vamos a probar:

Como podemos observar en el test con POSTMAN, me imprime los datos que estoy enviando a traves del body, ahora solo es cuestion de obtener los datos como si fuera un arreglo normal, y utilizarlo para lo que necesitemos.

Finalmente, el repositorio completo se encuentra en: Repositorio de API

Deja un comentario