KISS-REST (Documentación bajo revisión continua)
Instalación:, (*1)
$cd /var/www
$composer create-project levitarmouse/kiss-rest kissrest "1.0.*", (*2)
Micro framework para gestionar API Rest (coming soon) -> soporte Mysql,OracleDB (Validaciones XSS y CSRF), (*3)
Como usarlo:, (*4)
La instalación límpia ya presenta un controlador que es capaz de manejar todas las peticiones
HTTP. Sin embargo el uso esperado es que crees tus propios controladores y en ellos implementes
la lógica que necesita tu API., (*5)
Para crear un nuevo controlador, solo dirigete a la carpeta /App/controllers
y crea allí una clase con el nombre que desees, no hay restricciones para los
nombres de las classes más que las impuestas por PHP.
La clase debe pertenecer al namespace /controllers
Además es recomendable que los controladores extiendan de la clase \levitarmouse\rest\RestController,
en principio solo para obtener ayuda de los mensajes que pudiera devolver si existen problemas
de integración. Luego será requerida para gestionar seguridad y centralizar lógica inherente a todos los
controladores., (*6)
Ejemplo:, (*7)
Creamos..., (*8)
/App/controllers/MensajeController.php, (*9)
<?php, (*10)
namespace controllers;, (*11)
class MensajeController {, (*12)
public function saludo() {
return "Bienvenido a KISS-REST. Los saluda amablemente ".__METHOD__;
}
}, (*13)
Para poder acceder a dicho controlador, debes registrarlo. (1), (*14)
Para acceder a sus funciones, también debes configurar!
Debes asociarlas a los distintos métodos HTTP (2).
Ver: https://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol
Estas dos cosas las haces en el archivo de configuración /config/rest.ini, (*15)
(1)
En la sección [CONTROLLERS_ROUTING]
Asocias el nombre de la entidad requerida en la URL con el controlador que la atenderá, (*16)
(2)
En la sección [METHODS_ROUTING]
Indicas la entidad asociandola al HTTP Method con un @.
El valor de cada registro es el nombre de la función que debe gestionar
el método HTTP, en el Controller que se indicó en la sección [CONTROLLERS_ROUTING], (*17)
Por ejemplo, para el caso del Controller MensajeController ejemplificado más arriba podría ser:, (*18)
[CONTROLLERS_ROUTING]
/mensaje = "MensajeController", (*19)
[METHODS_ROUTING]
/mensaje@GET = 'saludo', (*20)
Luego podrás ver el resultado accediendo a http://localhost/kissrest/mensaje, (*21)
También es parte de la instalación un sencillo controlador que devuelve la fecha y hora de PHP.
Solo informativo, pero seguro evolucionará en un microservicio de calendario, (*22)