+54 11 5258-8400
Login

Conociendo Laravel: el framework que revolucionó PHP

Conociendo Laravel: el framework que revolucionó PHP

Laravel

Si siguen ahí después de leer el título quiere decir que todavía no perdieron las esperanzas de encontrar un buen Framework en PHP.

La discusión entre “framework si” o “framework no” es larga y creo que los fundamentos más fuertes de los detractores se basan en las opciones disponibles de hoy en día. Pero en algún momento nos vemos en la necesidad de no reinventar la rueda, sobretodo cuando tenemos que implementar acciones comunes (friendly URLs, manejo de sesiones, manejo de base de datos, etc).

Es por eso que quería hablar de Laravel, un framework que viene tomando mucha fuerza en los últimos meses largos y con el lanzamiento de su version número 4 se posiciona como una opción más que interesante para explorar.

En esta nota vamos a repasar sus puntos fuertes y en notas posteriores ver algunos ejemplos prácticos de como usarlo y los beneficios que tiene.

The basics

El framework posee lo que ya nos imaginamos: Router, Models, Layouts, Views, Controllers, etc. Para los templates utiliza un engine propio que se llama Blade, que tiene algunos helpers copados.

Artisan

Cliente de consola que nos permite ejecutar comandos propios del framework. Es muy versátil, potente e incluso nos permite extenderlo creando nuestras propias tareas para que estén disponibles desde este cliente.

Composer

Desde la última versión, la 4, está disponible directamente desde Composer el nuevo gestor de paquetes y de dependencias de PHP. Esto nos permite modificar y agregar los paquetes que querramos incluso permitiéndonos generar paquetes nuestros, configurarlos en el composer.json e incluirlos en nuestra aplicación con un composer update. Tal es el uso y los beneficios de Composer que Laravel utiliza muchos paquetes de otros frameworks como Symfony (Artisan es una extensión de su consola) entre otros.

Migrations

A esta altura todos utilizamos algún sistema de control de versiones para nuestro código (y si no lo hacemos, ya es hora). Lo que incorpora Laravel es la posibilidad de llevar un control de versiones también de nuestra base de datos. Esto, combinado con un sistema de seeding nos permite tener nuestra aplicación descargada y funcionando en unos pocos comandos. Ejemplo:

$git clone https://github.com/laravel/laravel.git
$composer update

Y para configurar la base de datos:

$php artisan migrate
$php artisan db:seed

Listo! ya tenemos nuestra aplicación descargada, instalada y con su base de datos configurada.

Resources

Desde esta última versión, se incorpora el concepto de resource permitiéndonos programar nuestros controladores como si fueran un API Rest y que sean consumidos de la misma forma. Es decir que para agregar un elemento hacemos un POST /resource, para obtener un listado un GET /resource, para obtener un elemento GET /resource/{id}, etc. Esto nos permite liberar y consumir nuestra aplicación como un API sin tener que modificar nada, y dándonos la posibilidad de integrarla y de que sea integrada por otros sistemas.

Eloquent ORM

Object-Relational Mapping para nuestra base de datos. Nos permite interactuar con nuestra base de datos como si cada tabla fuera un Modelo, respetando más fielmente la división MVC. Es muy fácil de usar, y por sobre todas las cosas maneja una sintaxis muy expresiva para facilitar su lectura y comprensión.

Generators

Una de las cosas que más me gustan por el tiempo que ahorran. Están basados en un paquete que creó Jeffrey Way y que se puede agregar al composer.json para que lo descargue automáticamente al iniciar el desarrollo de nuestra aplicación. Lo que debemos hacer es agregarlo como required:

"require": {
    "laravel/framework": "4.0.*",
    "way/generators": "dev-master"
}

Después de un composer update estamos listos para usarlo. Esto nos va a permitir generar un template de cualquiera de los elementos que necesitemos, ya sea un Model, Controller, Seed, View, Migration, etc.

Un ejemplo práctico para entender la comodidad de usarlo: vamos a crear un resource para gestionar los usuarios de nuestra aplicación:

$php artisan generate:resource usuario --fields="nombre:string,apellido:string,username:string,password:string"

El resultado del comando crea lo siguiente:

  • Vistas para el listado, el detalle, la edición, y el alta
  • Layout general (lo crea si es la primera vez que lo ejecutamos)
  • Modelo del Resource (Usuario)
  • Controlador del Resource con todos sus métodos
  • Migración para crear la tabla con todos sus métodos de gestión.
  • Modifica el archivo routes.php (que contiene el mappeo de todas las rutas) para agregar el resource
  • Crea la clase para hacer el Unit Testing.

En resumen, una vez que lo terminemos, podemos acceder a http://localhost/usuarios y vamos a tener un ABM absolutamente funcional para extenderlo y/o modificarlo de la forma que querramos. Esta es una excelente forma de acortar los tiempos iniciales de desarrollo sobretodo para cuando necesitamos testear la implementación de forma rápida para poder tomar mejores decisiones.

Y mucho más

Quedaron muchas cosas interesantes afuera, como que viene con un driver para utilizar storage Redis, soporte para Unit Testing, Validations, etc. Esto es solo un muestreo de algunas de las features. Pueden ver el resto de la magia en la documentación oficial.

En las próximas semanas desarrollaremos nuestra primer aplicación usando Laravel.

Related Post
Cómo utilizar el API de ELSERVER.COM: PHP en acción

En un post anterior vimos los conceptos básicos sobre el API de ELSERVER.COM: como listar, crear, modificar y eliminar elementos a través de llamadas HTTP. Sin embargo, no lo aplicamos a ningún lenguaje de programación en particular. Hoy vamos a avanzar en ese sentido: vamos a ver cómo integrar llamadas al API en nuestras aplicaciones […]

Read more
[Mejoras_Programadas] Cambio de versiones PHP :: 01/03/2013 ::

Te informamos que a partir del 1 de Marzo de 2013 estaremos actualizando a todos los sitios de la plataforma a la versión 5.4 de PHP. Esto significa que: Todos los clientes pasarán a tener la versión PHP 5.4. La misma ya está incorporada como opción en el Panel de Control. Mantendremos sólo las versiones PHP 4.4.9 (la […]

Read more
Verano de súper acción en ELSERVER.COM

No paramos, seguimos aún en verano. El calor no nos amedrenta y por eso  a partir de enero estamos lanzando nuestro ciclo de capacitaciones GRATUITAS sobre el mundo web. ¿Gratuitas? Sí, de onda, porque nos gusta y porque queremos que durante el 2011 tengas todas las herramientas para convertirte en un crack – y si […]

Read more
Post has 2 comments
  • Alejandro Posted 11 septiembre, 2013 in 8:37 pm

    Definitivamente una gran opción a la hora de elegir un framework PHP. Muy buen artículo enumerando las principales virtudes!!!

  • Jose Alejandro Realza Posted 19 septiembre, 2013 in 5:32 am

    Me parece que es un digno y consitente articulo que todos los amantes del Desarrollos en funcion a las nuevas tecnologias deberian leer

Comments are closed.

LAYOUT

SAMPLE COLOR

Please read our documentation file to know how to change colors as you want

BACKGROUND COLOR

BACKGROUND TEXTURE