Laravel

Laravel
Información sobre la plantilla
Parte de la familia Framework PHP
DesarrolladorTaylor Otwell
Última versión estable5.1.1, 9 de junio de 2015
GéneroFramework
Sistemas Operativos compatiblesMultiplataforma
LicenciaMIT
Sitio web
http://www.laravel.com/

Laravel es un framework de código abierto para desarrollar aplicaciones y servicios web con PHP 5. Su objetivo es desarrollar aplicaciones con código PHP de forma elegante y simple. Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.

Laravel es un framework joven con gran futuro. Cuenta con una comunidad llena de energía, documentación atractiva de contenido claro y completo; y, además, ofrece las funcionalidades necesarias para desarrollar aplicaciones modernas de manera fácil y segura. Está equipado con un montón de características interesantes, incluyendo enrutamiento RESTful, PHP nativo o atrativo motor ligero y muchos más. Construido con varios componentes de Symfony, Laravel ofrece a las aplicaciones web una increíble base de código confiable y bien probado.

Definición e historia

En el 2011 su creador, Taylor Otwell, mostró Laravel por primera vez al mundo. Por lo que, se trata de un framework con un enfoque fresco y moderno; al ser bastante joven. Está hecho con la arquitectura MVC y resuelve necesidades actuales como manejo de eventos y autenticación de usuarios. Además, cuenta con un código modular y extensible por medio de un administrador de paquetes y un un soporte robusto para manejo de bases de datos.


Visión general

Laravel es un framework que permita el uso de una sintaxis elegante y expresiva para crear código de forma sencilla y permitiendo multitud de funcionalidades. Intenta aprovechar lo mejor de otros frameworks y aprovechar las características de las últimas versiones de PHP 2. Gran parte de Laravel está formado por dependencias, especialmente de Symfony, esto implica que el desarrollo de Laravel dependa también del desarrollo de sus dependencias.


Influencia

La influencia de 'Laravel ha crecido rápidamente desde su lanzamiento. En la comunidad de desarrolladores es considerado como una alternativa sencilla de usar pero que tiene todas las funcionalidades que debe tener un framework. Ha sido descargado más de 320 000 veces, y se espera que supere en popularidad a otros frameworks ya establecidos y más antiguos.


Características

Algunas otras características interesantes de Laravel incluyen:

  • Posee un poderoso conjunto de librerías.
  • ORM increíble.
  • Fácil enrutamiento .
  • Autenticación simple.
  • Sistema de ruteo, también RESTful.
  • Blade, Motor de plantillas.
  • Peticiones Fluent.
  • Eloquent ORM.
  • Basado en Composer.
  • Soporte para el caché.
  • Soporte para MVC.
  • Usa componentes de Symfony.
  • Adopta las especificacione PSR-2 y PSR-4.

Modular y extensible

Laravel es modular y extensible. Esto quiere decir que te permite agregar todo lo que necesitas a través de su directorio Packalyst que cuenta con más de 5500 paquetes. Esto con el objetivo de que siempre encuentres lo que necesitas. Micro-servicios y APIs. Permite desarrollar fácil y rápidamente micro-servicios y APIs de gran rendimiento para los proyectos. Lumen integra todas las características de Laravel con una mínima configuración y te permite migrar al framework completo con sólo copiar el código en un proyecto de Laravel.


Patrón MVC

Laravel propone en el desarrollo usar Routes with Closures, en lugar de un MVC tradicional con el objetivo de hacer el código más claro. Aun así permite el uso de MVC tradicional.

Modelo

Laravel incluye un sistema de mapeo de datos relacional llamado Eloquent ORM que facilita la creación de modelos. Este ORM se funda en patrón active record y su funcionamiento es muy sencillo. Es opcional el uso de Eloquent, pues también dispone de otros recursos que nos facilitan interactuar con los datos, o específicamente la creación de modelos.

Vista

Laravel incluye de paquete un sistema de procesamiento de plantillas llamado Blade. Este sistema de plantillas favorece un código mucho más limpio en las Vistas, además de incluir un sistema de Caché que lo hace mucho más rápido. El sistema Blade de Laravel, permite una sintaxis mucho más reducida en su escritura.

Controlador

Los controladores contienen la lógica de la aplicación y permiten organizar el código en clases sin tener que escribirlo todo en las rutas. Todos los controladores deben extenderse de la clase BaseController.


Consejos al instalar

Al comenzar a desarrollar aplicaciones, lo primero que se necesita es un entorno que pueda ejecutarlas. En el caso de PHP usamos herramientas como XAMMP, WAMP o MAMP que nos permiten instalar y configurar rápidamente Apache, MySQL y PHP. Pero esta facilidad viene con un costo: la dificultad de personalizar o agregar componentes extras a nuestro entorno de desarrollo. Por tal motivo, crearon Laravel Homestead, un paquete para Vagrant que nos permite tener lo mejor de dos mundos: facilidad de instalación y configuración, pero la posibilidad de personalizar completamente nuestro entorno.

Además usar Vagrant y Homestead garantiza que tendrás un ambiente más similar al ambiente de producción y tus colegas podrán trabajar con el mismo ambiente también.

Si nunca se ha usado Laravel u otro framework de PHP una herramienta como XAMPP es la adecuada, aunque se pueden utilizar entornos más profesionales.

Notas

Siempre es bueno contar con consejos y notas para manipular mejor nuestro software, aquí tiene dos:

  1. Si usas Windows, es probable que te sea difícil hacer funcionar Vagrant y Homestead, en ese caso te recomiendo que obvies esta lección y no te sientas mal. Laravel funciona perfectamente con XAMPP o WAMP. Alternativamente, podrías cambiarte a Linux (Ubuntu) o Mac.
  2. Si estás usando Windows, quizás necesites habilitar la virtualización de hardware (VT-x) desde tu BIOS.


Fuentes