Configuración de Slim Framework para Desarrollo API

Introducción a la Instalación de Slim Framework

El Slim Framework es una elección popular para desarrolladores que buscan crear APIs RESTful de manera eficiente. Este tutorial cubre desde la instalación básica hasta la configuración del entorno de desarrollo para comenzar tu proyecto API con Slim.

Instalación del Framework y Librerías Necesarias

Comando de instalación del proyecto

Instalación del framework

    composer.phar require slim/slim

Instalación librería psr7, para el funcionamiento de la carga de callbacks, etc

    composer.phar require slim/psr7

Instalación de paquetes para el uso de contenedores

    composer.phar require php-di/php-di

Para uso de APIS

composer require guzzlehttp/psr7 "^2"
composer require laminas/laminas-diactoros

Una vez instalados los paquetes necesarios, creamos la carpeta public en la raíz del proyecto, y dentro, creamos dos ficheros más.

  • .htaccess (para el manejo de las urls)
  • index.php

En el .htaccess, copiamos el siguiente texto:

RewriteEngine On
RewriteEngine %{REQUEST_FILENAME} !-f
RewriteEngine %{REQUEST_FILENAME} !-d 
RewriteRule ^ index.php [QSA,L]

Y en el index.php, pegamos el siguiente código:

<?php
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Slim\Factory\AppFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$app->get('/', function (Request $request, Response $response, $args) {
    $response->getBody()->write("Hello world!");
    return $response;
});
$app->run();

Por último y antes de levantar el servidor, vamos a modificar el fichero composer.json, para configurar la autocarga de archivos según los estándares psr-4 de PHP. 

Este PSR describe una especificación para clases de carga automática a partir de rutas de archivo. Es totalmente interoperable y se puede utilizar además de cualquier otra especificación de carga automática, incluido PSR-0 . Este PSR también describe dónde colocar los archivos que se cargarán automáticamente de acuerdo con la especificación.

 
{
"require": {

"slim/slim": "^4.9",

"slim/psr7": "^1.5",

"psr/container": "1",

"php-di/php-di": "^6.3",

"laminas/laminas-diactoros": "^2.8",

"guzzlehttp/psr7": "^2"
},
"autoload": {
"psr-4": {
"App\\" : "src/"
}
}
}

Después de guardar los cambios, debes acceder a la terminal y desde la raíz del proyecto ejecuta el siguiente comando:

composer dump-autoload

El comando dump-autoload actualiza la información del cargador automático de clases

Te dejo el enlace al repositorio de github, para que puedas descargarte el proyecto si así lo deseas. Pincha aquí y te llevará al código. 

Finalmente, desde una terminal accedemos a la carpeta public del proyecto (cd public) y ejecutamos el comando

php -S localhost:8888

Con este comando levantaremos una instancia del servidor en local.

Con esto tendremos un precioso «Hello world» en nuestro navegador, creado con el framework Slim y preparado para trabajar con API´s.

Enlaces de interés: 

Documentación Slim Framework

Repo de la entrada

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *