laravel-lumen

Cuando los programadores de PHP comenzamos a vagar por la faz de Internet, no existían frameworks y cada quien se las arreglaba como podía. Luego con el lanzamiento de frameworks como Ruby on Rails, comenzaron a desarrollarse y popularizarse frameworks para PHP.

Sin embargo, hay algunos proyectos que no necesitan toda la estructura de un framework como Laravel o Symfony, ya sea porque son muy sencillos, tienen características muy específicas, o requieren de una velocidad de ejecución extrema.

Por ende surgió la necesidad de disponer de micro-frameworks, es decir versiones mucho más ligeras de los frameworks que ya conocemos.

El universo de PHP ya contaba con algunos como Silex (de los creadores de Symfony) y Slim, sin embargo no disponíamos de una versión «super liviana» de Laravel. Hasta hoy, que fue anunciado Lumen:

¿Qué es Lumen?

Lumen es un micro-framework para PHP creado por Taylor Otwell que comparte muchos de los componentes de su «hermano mayor» Laravel, pero Lumen es una versión más liviana de Laravel y orientado más a la creación de APIs y microservicios, aunque también puedes usarlo para crear sitios web o lo que quieras.

A diferencia de Laravel PHP, archivos y componentes no vienen por defecto en Lumen (como por ejemplo la integración con Bootstrap y los módulos preestablecidos de autenticación y registro) pero sí puedes usar el ORM Eloquent y otros importantes componentes de Laravel en Lumen.

¿Qué significa el nombre del framework Lumen?

Es una «especie» de diminutivo de Illuminate (el nombre clave de los componentes de Laravel 4 y 5)

¿Debería usar Laravel o Lumen?

Si estás planeando desarrollar tu próximo sitio o portal web, y necesitas un CMS, un panel administrativo, un CRM, un foro o sistemas de ese tipo, Laravel es «the way to go»,  pero si sólo quieres crear un API para tu SPA (aplicación de una sola página) construida con Angular o EmberJS, o quieres implementar un microservice, usar Lumen es una buena opción.

Por otro lado, con Lumen puedes construir cualquier tipo de proyecto, así que si nunca has usado ningún framework y te «intimida» comenzar con Laravel, quizás Lumen sea una buena opción para ti

¿Qué es un microservice?

Son procesos independientes que generalmente se encargan de una sola tarea (por ejemplo un cron-job para hacer un respaldo de la base de datos) y están por lo general desacoplados del resto de la aplicación.

¿Es posible migrar de Lumen a Laravel?

¡Sí! Lumen está construido usando los componentes de Laravel (como Fluent y Eloquent por ejemplo) así que en teoría debería ser fácil pasar una aplicación de Lumen a Laravel (esto es una gran ventaja y diferencia con respecto a otros micro frameworks de PHP).

Ok, muy bien pero: ¿Cómo puedo instalar y comenzar a usar Lumen?

¡Haces muy buenas preguntas! Imagino que ya tienes Composer instalado (sino, te enseñamos cómo instalarlo en Ubuntu o en Windows)

Pues bien, simplemente ejecuta este comando en la consola:

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

Espera unos minutos y ¡Listo! Ahora sólo necesitas crear un Virtual Host (te explicamos cómo para Windows o Linux y Mac) que apunte a NOMBRE_DE_TU_PROYECTO/public (no olvides la carpeta public) y el paso siguiente es probarlo en tu navegador.

¿No necesitas un virtual host? Entonces simplemente ve a la carpeta de tu proyecto y escribe:

php artisan list

Verás la lista de comandos de Lumen, que funcionan como en Laravel 5, sweet!

¿Cómo comienzo a desarrollar mi API en Lumen?

Simplemente ve al archivo app/Http/routes.php tal como en Laravel, and you are good to go:

<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

$app->get('/', function() use ($app) {
    return $app->welcome();
});

Por supuesto no olvides visitar la documentación oficial de Lumen.

Por último, ¿Te interesa aprender más sobre Lumen? Cuéntanos en los comentarios, mándame un Tweet y por supuesto no olvides suscribirte al sitio.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección siguiente ¡Excelente! Lumen 5.2 ya está aquí