Volver a la página principal
martes 23 julio 2024
25

Cómo crear un proyecto Lumen

Prerrequisitos

Antes de comenzar, asegúrate de tener los siguientes requisitos:

1. PHP 7.3 o superior: Lumen requiere PHP 7.3 o una versión más reciente.

2. Composer: El gestor de dependencias de PHP.

Paso 1: Instalar Composer

Si no tienes Composer instalado, puedes descargarlo y configurarlo siguiendo las instrucciones en getcomposer.org.

Para sistemas basados en Unix, puedes usar los siguientes comandos:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'a5c698ffe4b8e2b3e1336d1c9f78e2befe2b4de7b68786a0e23d27bc6b2710f1ff174e95bdfdf6948be8b64880570a92') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Para sistemas Windows, puedes descargar el instalador de Composer desde aquí.

Paso 2: Crear un Nuevo Proyecto Lumen

Con Composer instalado, puedes crear un nuevo proyecto Lumen utilizando el siguiente comando:

composer create-project --prefer-dist laravel/lumen lumen_project

Esto descargará Lumen y sus dependencias en una carpeta llamada lumen_project. Puedes cambiar lumen_project por el nombre de tu proyecto.

Paso 3: Configuración Básica

Configurar el Entorno

Lumen utiliza un archivo .env para la configuración del entorno, similar a Laravel. Sin embargo, por defecto, Lumen no viene con un archivo .env. Puedes crear uno copiando el archivo .env.example y renombrándolo a .env.

cp .env.example .env

Edita el archivo .env para configurar tu entorno, como la configuración de la base de datos, la clave de la aplicación, etc.

Generar la Clave de la Aplicación

A diferencia de Laravel, Lumen no tiene un comando de consola para generar la clave de la aplicación. Sin embargo, puedes usar cualquier generador de strings para crear una clave de 32 caracteres y establecerla en el archivo .env:

APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

Configurar el Servidor Web

Lumen incluye un servidor web integrado para el desarrollo local. Puedes iniciarlo con el siguiente comando:

php -S localhost:8000 -t public

Abre tu navegador web y visita http://localhost:8000 para verificar que el servidor esté funcionando.

Paso 4: Crear una Ruta Simple

Con Lumen configurado, podemos definir una ruta simple. Abre el archivo routes/web.php y agrega una ruta básica:

<?php

/** @var \Laravel\Lumen\Routing\Router $router */

$router->get('/', function () use ($router) {
    return 'Hola, Lumen!';
});

Guarda el archivo y visita http://localhost:8000 en tu navegador. Deberías ver el mensaje "Hola, Lumen!".

Paso 5: Controladores y Middleware

Crear un Controlador

Para organizar mejor tu aplicación, puedes crear controladores. Primero, crea un directorio app/Http/Controllers si no existe:

mkdir -p app/Http/Controllers

Luego, crea un nuevo controlador llamado ExampleController.php:

<?php

namespace App\Http\Controllers;

use Laravel\Lumen\Routing\Controller as BaseController;

class ExampleController extends BaseController
{
    public function index()
    {
        return response()->json(['message' => 'Hola desde ExampleController!']);
    }
}

Registrar la Ruta para el Controlador

Edita el archivo routes/web.php para registrar una nueva ruta que apunte al controlador:

<?php

/** @var \Laravel\Lumen\Routing\Router $router */

$router->get('/', function () use ($router) {
    return 'Hola, Lumen!';
});

$router->get('/example', 'ExampleController@index');

Visita http://localhost:8000/example en tu navegador para ver el mensaje del controlador.

Usar Middleware

Lumen también soporta middleware para filtrar las solicitudes HTTP. Puedes crear middleware en app/Http/Middleware. Aquí hay un ejemplo de un middleware que registra todas las solicitudes:

<?php

namespace App\Http\Middleware;

use Closure;

class LogRequest
{
    public function handle($request, Closure $next)
    {
        // Logica para registrar la solicitud
        file_put_contents('php://stderr', 'Request logged: ' . $request->fullUrl() . PHP_EOL);

        return $next($request);
    }
}

Para registrar este middleware, edita el archivo bootstrap/app.php:

$app->middleware([
    App\Http\Middleware\LogRequest::class
]);

Conclusión

Crear un proyecto con Lumen es un proceso directo y sencillo. Con la instalación de Composer, configuración básica y creación de rutas, puedes empezar rápidamente a desarrollar APIs rápidas y eficientes. Además, con la capacidad de añadir controladores y middleware, Lumen te proporciona la flexibilidad necesaria para construir aplicaciones robustas y escalables.

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer