Laravel Lumen

LARAVEL LUMEN, ¿Cómo CREAR una SIMPLE REST API?

Tiempo de lectura: 5 minutos
Rate this post

Hace unos días, platicando con un amigo, me comentaba que le pidieron hacer un desarrollo con Laravel Lumen como parte de una evaluación laboral, por lo que me di a la tarea de investigar un poco acerca de este Micro Framework que me pareció bastante interesante y quiero compartirlo contigo.

¿Qué es Laravel Lumen?

Como te comentaba al inicio, Laravel Lumen es un Micro Framework de Laravel, es decir, el popular Framework para PHP Laravel, lo resumieron en componentes básicos que nos permiten desarrollar microservicios y API’s en muy poco tiempo y de una manera muy sencilla.

Quiero compartirte que este no es el único Micro Framework, hace algún tiempo te compartía sobre Flight PHP, de hecho, tengo un curso completo en mi canal sobre Flight

En este caso iniciaremos a trabajar con Laravel Lumen, para ello, el primer requerimiento que tenemos es que debemos de tener instalado Composer, si no lo tienes instalado, puedes acceder directamente desde su Web.

Una vez instalado Composer, ahora ya nos centraremos en instalar Laravel Lumen, para ello, simplemente desde la terminal, podemos ejecutar el siguiente comando

composer create-project --prefer-dist laravel/lumen blog
Zsh

Lo único que debemos de cambiar en el código de arriba es la última palabra, ya que en este caso, estamos creando un proyecto con Laravel Lumen que se denominará Blog, si quieres ponerle cualquier otro nombre al proyecto, simplemente reemplázalo.

Esto empezará a realizar la instalación del proyecto completo, luego su instalación, simplemente accedemos a la carpeta que se haya generado.

Cómo correr Lumen PHP

Para poder correr Laravel Lumen, solo debemos ejecutar el siguiente comando:

php -S localhost:8000 -t public
Zsh

Si estás acostumbrado a trabajar con Laravel, aquí tenemos la primera diferencia, ya que muchos de los comandos que comúnmente ejecutamos con Laravel, no se encuentran con Laravel Lumen, por ejemplo, el famoso php artisan serve, no lo tenemos disponible, entre otros comandos adicionales.

Para poder solucionar esto, podemos instalar una dependencia que se denomina Flipbox Lumen Generator, la cuál nos permitirá agregar de nuevo estos comandos generadores de código.

Instalar Flipbox Lumen Generator

Para poder instalar Flipbox Lumen Generator, simplemente tendremos que ejecutar el siguiente comando dentro de nuestra terminal:

composer require flipbox/lumen-generator
Zsh

Una vez que se haya terminado de instalar Flipbox Lumen Generator, debemos de acceder a la siguiente ruta bootstrap/app.php en nuestro proyecto y agregar la siguiente línea:

$app->register(Flipbox\LumenGenerator\LumenGeneratorServiceProvider::class);
PHP

Corriendo Lumen con PHP Artisan Serve

Una vez que hemos registrado Flipbox Lumen Generator dentro de nuestro archivo app.php, ya podremos hacer uso de los comandos más comunes que tenemos de Laravel, por lo que ya podríamos correr nuestro proyecto utilizando:

php artisan serve
Zsh

El siguiente punto para poder trabajar con el proyecto, es agregar nuestras variables de entorno para poder hacer uso de todas las herramientas que tenemos a la mano:

Configurando Variables de entorno (.env)

Dentro del archivo .env, debemos reemplazar algunas variables que ya tenemos precargadas, por ejemplo: DB_DATABASE, DB_USERNAME y DB_PASSWORD ya vienen precargadas, sin embargo, las debemos de reemplazar con los datos que estamos trabajando actualmente.

Por ejemplo, si tienes corriendo el proyecto con XAMPP, entonces podemos reemplazar el valor de DB_USERNAME por root, ya que es el usuario por defecto de XAMPP, mientras que dejaremos en blanco el valor de DB_PASSWORD ya que también es el valor por defecto.

PHP Artisan Key Generate

Otro comando muy importante a utilizar es:

php artisan key:generate
Zsh

Al momento de ejecutar este comando, la variable APP_KEY dentro de nuestro archivo .env se rellenará con una cadena de texto que nos servirá más adelante para algunos servicios.

Creando Base de Datos

En este momento, simplemente debemos de crear una base de datos, con el nombre que tu quieras, recuerda que una vez que hayas generado la base de datos, el nombre de la base de datos lo debes de agregar a la variable DB_DATABASE, para poder hacer correctamente la conexión a la base de datos.

Creando Migraciones con Laravel Lumen

El concepto de migración, se implementa en muchos lenguajes de programación, sin embargo, muy pocas veces nos tomamos el tiempo de entender que son, podemos ver una migración como el control de versiones que tenemos de todos los cambios que realizamos a nuestra base de datos.

Si queremos empezar creando una tabla y después agregar un campo a dicha tabla o cambiar el tipo de datos de un campo en la tabla, son 3 modificaciones que poco a poco van alterando nuestro desarrollo y en el caso de un equipo de trabajo, tal vez se puede volver algo complejo.

Es por ello que utilizamos las migraciones, para poder documentar cada acción que vamos realizando al modificar o crear tablas o campos de nuestras bases de datos.

Para poder crear una migración, es necesario ejecutar el siguiente comando:

php artisan make:migration nombre_de_la_migracion
Zsh

En donde debemos de reemplazar el nombre_de_la_migracion, por un texto declarativo de lo que está haciendo en ese momento la migración, ejemplo: crear_tabla_de_usuarios

Una vez que se haya ejecutado el comando anterior, nos daremos cuenta que dentro de la carpeta databases/migrations, ya tendremos un nuevo archivo php, en el cual podremos agregar toda la información de nuestras tablas o schemas.

Es importante saber que al crear una migración, se agregan 2 métodos: el up y el down. Mientras que el up nos sirve para crear todo lo nuevo que vamos a hacer, por ejemplo, crear nuevas tablas, campos o modificar atributos, el down nos permitirá revertir los cambios en caso de ser necesario, lo que comúnmente conocemos como rollback.

No es el objetivo de este post enseñarte a crear migraciones, pero te invito a revisar la documentación de las migraciones dentro de Laravel, en el siguiente enlace: https://laravel.com/docs/10.x/migrations

Una vez que hayamos generado toda la estructura de nuestra migración, toca el turno de poderla ejecutar, para ello, es necesario el siguiente comando desde terminal:

php artisan migrate
Zsh

Con ello podremos observar que en nuestra base de datos ya se encuentran al menos 2 tablas, la primera se llama migrations, que es la que se encarga de controlar todas las migraciones que hacemos y la segunda, la tabla que acabamos de generar al ejecutar la migración.

Creando Modelos con Laravel Lumen

El siguiente paso será crear un modelo, recordemos que un modelo es una clase que representa a una tabla dentro de las bases de datos, y se utilizan para poder interactuar con la base de datos y realizar operaciones de administración como la inserción, edición, eliminación o consultas dentro de las bases de datos.

Para poder crear modelos con Laravel Lumen debemos de ejecutar el siguiente comando:

php artisan make:model <model>
Zsh

En este caso, debemos de reemplazar el <model> por el nombre de nuestro modelo, por ejemplo, si queremos crear un modelo para la tabla usuarios, entonces podemos reemplazarlo por User, recuerda que por convención, los modelos los escribimos en singular y escribiendo la primera letra en mayúscula.

Creando Controladores con Laravel Lumen

Un controlador, es una clase en php que sirve para poder segmentar la lógica de las peticiones que nos llegan, con esto, logramos una mejor organización del código y comúnmente van asociados a una clase auxiliar denominada helper, en donde definimos todos los métodos que utilizaremos dentro del controlador.

Para poder crear un controlador en Laravel Lumen, simplemente tenemos que ejecutar la instrucción:

php artisan make:controller UserController
Zsh

Si observar el ejemplo, estamos creando un controlador para los usuarios, comúnmente los escribimos en notación Pascal Case y le adicionamos al singular del modelo, la palabra Controller.

Creando Rutas con Laravel Lumen

Con estos pasos, ya hemos generado toda la lógica de nuestro proyecto, por lo tanto, lo único de deberíamos de hacer es crear la ruta que se utilizará para poder ejecutar el controlador, para ello dentro de la carpeta routes en el archivo web.php, podemos hacer uso del objeto $router, específicando el método que ocuparemos, que en este caso será el get, por lo que nuestra ruta quedaría similar a esta:

$router->get("/users", "UserController@index");
PHP

En este caso, estamos generando una ruta de tipo get denominada /users, que hace uso del controlador UserController y ejecuta el método index, ya definido dentro de nuestro controlador.

Si quieres abundar un poco más sobre esto, te recomiendo este video en mi canal, en donde explico de forma gráfica todos los pasos documentados aquí

Si te ha gustado este artículo y te aporta valor te pido me sigas en mi:

🖥️ Youtube: https://www.youtube.com/@eightdev?sub_confirmation=1

🎵 Tik Tok: https://www.tiktok.com/@8devmx

✅ Facebook: https://www.facebook.com/8devmx/

📸 Instagram: https://www.instagram.com/8devmx/

También podría interesarte

Social Share Buttons and Icons powered by Ultimatelysocial
YouTube
YouTube
Instagram
Scroll al inicio