6 Frameworks PHP exclusivos para el desarrollo de un API (RESTful)

Hace un tiempo sentí la necesidad de escribir una pequeña API solo por diversión, nada complejo, sin embargo cuando comencé a investigar las distintas opciones me encontré con un gran abanico de posibilidades con sus pro y contras.

Lo primero que hay que entender es que no todas las soluciones sirven para los mismos requerimientos, razón más que suficiente para realizar una investigación más profunda.

En PHP escribir un API no es algo imposible, todo lo contrario, si lo que queremos brindar es un mecanismo de consulta el asunto es bastante sencillo, sin embargo los grandes problemas que pude encontrar surgieron a la hora de autorizar y autenticar a nuestros usuarios y es justamente en ese punto donde muchos frameworks hacen agua.

Otro aspecto del desarrollo de APIs es que, y me duele decirlo, PHP no es una opción optima, por ejemplo con Ruby on Rails el desarrollo es tan sencillo que asusta. No obstante y como comenté en un principio todo depende de nuestras necesidades.

Una aclaración, la arquitectura de paradigma en la que base mi investigación es REST, específicamente del tipo RESTful que hoy en día es la arquitectura que típicamente utilizamos en casi todos los servicios web.

logo recess framework

1. Recess framework. Una solución exclusiva para el desarrollo de APIs desde PHP. El proyecto tiene muy buena pinta pero honestamente esta bastante estancado, la ultima actualización del blog oficial fue en febrero del 2010.

Un punto muy positivo es que tiene una buena documentación con muchos ejemplos y tutoriales. Otro detalle que agradecemos es que tiene la capacidad “scaffolding” que ahorra muchísimo tiempo de desarrollo.

logo del framework minimalista Slim

2. Slim. Un micro framework también exclusivo para el diseño de APIs. Su principal ventaja es su reducido tamaño, un proyecto compacto y muy interesante de cara al desarrollo de proyectos que no requieren autenticación (aunque tiene algunas cosas para realizar este trabajo).

Slim tiene una excelente documentación, comenzando desde aspectos muy sencillos como su instalación hasta ejemplos más complejos que utilizan bases de datos para realizar consultas y motor de plantillas.

guzzle php y cliente HTTP restful

3. Guzzle. Es uno de los proyectos más recientes en lo que se refiere al desarrollo de frameworks. Inclusive su última actualización se realizó hace apenas una semana.

Este framework tiene soporte para prácticamente todos los tipos de solicitudes HTTP: GET, HEAD, POST, DELETE, PUT, PATCH, y OPTIONS. También permite manejar conexiones persistentes y tiene un muy buen soporte para plantillas en lo que se refiere al esquema de direcciones URI.

Al igual que la mayoría de los frameworks de este tipo tanto la autenticación como la autorización se realiza mediante el protocolo HTTP, disponible tanto en su versión “Basic” y “Digest”. Pero en este caso veo que este aspecto se encuentra bastante maduro, inclusive pueden encontrar varios ejemplos para implementar este aspecto.

En definitiva es una muy buena opción, les recomiendo encarecidamente que le presten atención si están en la búsqueda de una plataforma para desarrollar su API.

Wave PHP Micro-Framework

4. Wave Framework. Otra micro framework que conocí gracias a StackOverflow, inclusive pueden encontrarlo en prácticamente todas las preguntas relacionadas al tema dentro de esta fantástica red social para programadores.

La principal ventaja es que se encuentra desarrollado con el efecto de modelo, vista y controlador. Se encuentra diseñado para aprovechar todas las ventajas de PHP 5.3 o superior, tiene sistema de cache, tanto de datos planos como de base de datos y permite utilizar APC o MemCache para este fin.

Tiene soporte completo tanto para Apache como NGINX y tiene una capa de seguridad contra los principales posibles ataques. Además tiene una guía de uso bastante importante. Otra opción para considerar.

restler framework exclusivo

5. Restler. Un framework interesante que esta pensado para brindar un buen servicio en las plataformas más populares: móviles, web y escritorio.

Su principal característica es su simplicidad. Tiene soporte para Linux, Windows y Mac. Soporta las solicitudes HTTP más comunes en este tipo de desarrollos (GET, POST, PUT, y DELETE). Y brinda varios formatos distintos para operar SON, XML, YAML, etc.

El proyecto completo se encuentra liberado bajo licencia LGPL.

tonic framework para puristas

6. Tonic. Estamos en presencia de otro micro framework. Este proyecto es muy sencillo y no tiene mucha de las características que otros frameworks brindan, sin embargo su forma de abordar el desarrollo de APIs lo convierten en una alternativa interesante para los más puristas, aquellos que buscan simplemente el puntapié inicial a la hora de comenzar un trabajo de estas características.

Tonic cuenta con una buena documentación en linea y un apartado de GitHub en donde podemos realizar consultas y obtener las ultimas actualizaciones.

Actualmente hay varias posibilidades más, pero estas son las que me parecieron más interesantes, especialmente hablando de frameworks que son exclusivos para esta tarea. Si analizamos frameworks completos una opción que recomiendo analizar es Laravel, que últimamente viene haciendo furor en la comunidad de programadores PHP. Y no olviden también mirar Yii que también cuenta con un extraordinario soporte para este tipo de trabajos.

Categorizado en: