El proyecto es un ejemplo básico de una API con PHP puro y sin framework. Consta del el front-end (public) y el back-end.
Y para los servidores use MAMP pero pueden usar XAMP
Me inspiré en dos repositorios, el primero fue php_rest_api_without_framework y el segundo repo fue Basic-PHP-RESTful-API, Chequen también a estos proyectos.
Básicamente lo que hice fue:
- Hacer un sistema de rutas orquestado en el archivo api.php
- Después separe la lógica, para esto cree un archivo de conexión, un controlador y un modelo.
En el archivo de conexión es donde están la clase Database y las credenciales de conexión a la base de datos y un método que realiza la conexión a la base de datos.
En el modelo están solo los scripts SQL que usaremos para hacer las diferentes request que necesitemos.
Ahora bien el controlador se detona a partir del archivo api.php, gracias a la configuración guardada en el archivo de rutas.
<!-- rutas -->
<?php
return [
'GET' => [// methodos HTTP
'/citas' => 'CitasController::getAll',
'/citas/{id}' => 'CitasController::getById',
],
'POST' => [// methodos HTTP
'/citas' => 'CitasController::create',
],
];
En este archivo se almacena el controlador y su método, ejemplo: CitasController::create, para después ser instancia da la clase controladora y ejecutado el método.
Y el controlador lo que hace es hacer instancia de la clase Database y ejecuta el método de conexión, y después hace la instancia del modelo, y ejecutar los métodos del modelo donde se necesiten.
Es algo sencillo para poder ejemplificar solamente. y espero les ayude a ustedes tambien.