NOTAS WEB
Configuración de Slim Framework para Desarrollo API
Slim framwework es un micro framework para PHP que nos permite escribir rápidamente aplicaciones web y APIs. ¿Cómo instalar un proyecto con Slim PHP?
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:
Desarrollador de software con más de 7 años de experiencia, especializado en desarrollo web y backend. Con habilidades demostradas en PHP, Laravel, Symfony, y una amplia gama de tecnologías modernas. Apasionado por el diseño y desarrollo de software.