Published on

Instalación de Slim

Authors

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?

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.


1056