Pasos a seguir
Para crear una API REST con PHP, puedes seguir estos pasos:
- Define la estructura de la API: antes de empezar a escribir código, es importante tener una idea clara de cómo quieres que tu API funcione y qué recursos va a exponer.
- Crea un archivo de configuración: en este archivo especificarás los detalles de conexión a la base de datos, así como cualquier otra configuración que necesites para tu API.
- Escribe el código para obtener los recursos: en esta etapa, debes escribir el código necesario para obtener los recursos que quieres exponer en tu API. Esto implicará hacer consultas a la base de datos y devolver los resultados en un formato que pueda ser entendido por la API.
- Escribe el código para modificar los recursos: en esta etapa, debes escribir el código que permita a la API crear, actualizar o eliminar los recursos que expone. Esto implicará recibir datos de la API, procesarlos y luego hacer las modificaciones correspondientes en la base de datos.
- Prueba tu API: una vez que hayas escrito el código, debes probar tu API para asegurarte de que funciona correctamente y que devuelve los resultados esperados. Puedes usar una herramienta como Postman para hacer solicitudes a tu API y verificar su comportamiento.
- Documenta tu API: es importante que proporciones una documentación clara y detallada de tu API para que otros desarrolladores puedan utilizarla fácilmente. Esto incluye especificar qué recursos expone la API, qué métodos HTTP son válidos para cada recurso, y qué parámetros son necesarios o opcionales para cada método
Pero bueno, vamos a lo que interesa, AL CÓDIGO
<?php // Definimos una constante para la URL base de la API define('API_URL', 'http://example.com/api/v1/'); // Función para obtener todos los usuarios function get_users() { // Realizamos la consulta a la base de datos $query = "SELECT * FROM users"; $result = mysqli_query($query); // Creamos un array vacío para almacenar los resultados $users = array(); // Recorremos los resultados y los almacenamos en el array while ($user = mysqli_fetch_assoc($result)) { $users[] = $user; } // Devolvemos el array con los usuarios return $users; } // Función para obtener un usuario en particular function get_user($id) { // Realizamos la consulta a la base de datos $query = "SELECT * FROM users WHERE id = $id"; $result = mysqli_query($query); // Si no se encuentra el usuario, devolvemos un código de error if (mysqli_num_rows($result) == 0) { return array('error' => 'user_not_found'); } // Si se encuentra el usuario, devolvemos sus datos return mysqli_fetch_assoc($result); } // Función para crear un nuevo usuario function create_user($name, $email) { // Realizamos la consulta para insertar el nuevo usuario en la base de datos $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; $result = mysqli_query($query); // Si se produjo un error, devolvemos un código de error if (!$result) { return array('error' => 'insert_failed'); } // Si todo salió bien, devolvemos los datos del nuevo usuario $id = mysqli_insert_id(); return get_user($id); } // Función para actualizar un usuario existente function update_user($id, $name, $email) { // Realizamos la consulta para actualizar el usuario en la base de datos $query = "UPDATE users SET name = '$name', email = '$email' WHERE id = $id"; $result = mysqli_query($query); // Si se produjo un error, devolvemos un código de error if (!$result) { return array('error' => 'update_failed'); } // Si todo salió bien, devolvemos los datos del usuario actualizado return get_user($id); } // Función para eliminar un usuario existente function delete_user($id) { // Realizamos la consulta para eliminar el usuario de la base de datos $query = "DELETE FROM users WHERE id = $id"; $result = mysqli_query($query); // Si se produjo un error, devolvemos un código de error if (!$result) { return array('error' => 'delete_failed'); } // Si todo salió bien, devolvemos un mensaje de confirmación return array('success' => 'user_deleted'); }
Con esto, ya tenemos las funciones básicas para obtener, crear, actualizar y eliminar usuarios en nuestra API. Para utilizar esta API, un desarrollador puede hacer solicitudes HTTP a las siguientes URL:
GET
API_URL/users
: para obtener todos los usuarios.GET
API_URL/users/{id}
: para obtener un usuario en particular.POST
API_URL/users
: para crear un nuevo usuario.PUT
API_URL/users/{id}
: para actualizar un usuario existente.DELETE
API_URL/users/{id}
: para eliminar un usuario existente.
Es importante mencionar que este ejemplo es solo una demostración básica de cómo se podría implementar una API en PHP. Para una implementación real, sería necesario agregar validaciones adicionales, manejo de errores, autenticación y otras características que no se abordan en este ejemplo.