Está en la página 1de 4

Laravel

Ir a la navegaci�nIr a la b�squeda
Laravel
http://www.laravel.com/
Laravel.png
Informaci�n general
Desarrollador(es) Taylor Otwell
Lanzamiento inicial 9 de junio de 2011
�ltima versi�n estable 6.4.11?
29 de octubre de 2019 (1 mes y 14 d�as)
G�nero Framework
Programado en PHP
Sistema operativo Multiplataforma
Licencia Licencia MIT
[editar datos en Wikidata]

Taylor Otwell en el US Laracon 2013


Laravel es un framework de c�digo abierto para desarrollar aplicaciones y servicios
web con PHP 5 y PHP 7. Su filosof�a es desarrollar c�digo PHP de forma elegante y
simple, evitando el "c�digo espagueti". Fue creado en 2011 y tiene una gran
influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.2?

�ndice
1 Visi�n general
2 Caracter�sticas
3 Patr�n MVC
3.1 Modelo
3.2 Vista
3.2.1 Plantillas.
3.3 Controlador
4 Influencia
5 Referencias
6 Enlaces externos
Visi�n general
Laravel tiene como objetivo ser 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.

Caracter�sticas
Sistema de ruteo, tambi�n RESTful3?
Blade, Motor de plantillas4?5?
Peticiones Fluent6?
Eloquent ORM7?
Basado en Composer8?
Soporte para el cach�9?
Soporte para MVC10?
Usa componentes de Symfony11?
Adopta las especificaciones PSR-212? y PSR-4 13?14?
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.10?
<?php

//punto de entrada de la petici�n HTTP


...
});
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.7?

La forma de crear Modelos en Laravel usando Eloquent ORM, es tan simple como:

use Illuminate\Database\Eloquent\Model;

class Libro extends Model {

//defiendo el nombre de la tabla con la info de los libros


protected $table = 'tb_libros';
}
Incluso el c�digo del modelo puede ser m�s simple a�n, en el caso que el nombre de
la tabla coincida con el nombre de la clase. Pues Laravel al igual que Ruby on
Rails, usa el paradigma de programaci�n donde se favorece "la convenci�n sobre la
configuraci�n".Y si ahora necesitamos disponer un listado, en la ruta: http://mi-
aplicacion.com/libro/listar Entonces, s�lo bastar�a crear la Ruta e interactuar con
el modelo 'Libro' anteriormente creado, del modo siguiente:

Route::get('libro/listar', function() {
$libros = Libro::all();
return View::make('mi_vista', $libros); //Muestra los datos
});
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.4? Por
ejemplo, en vez pintar la vista usando el c�digo PHP:

<?php echo $mi_nombre; ?>


En Blade se escribir�a:

{{$mi_nombre}}
Lo cual no es una gran ventaja sobre todo cuando siempre es posible usar una
expresi�n resumida en PHP. No obstante, lo que si es una gran ventaja, es el modo
en que Blade maneja las plantillas.

Plantillas.
Las plantillas en Blade son archivos de texto plano que contiene todo el HTML de la
p�gina con etiquetas que representan elementos o zonas a incluir en la plantilla, o
vistas parciales como se conocen en otros frameworks PHP. Sin embargo, en Blade
estos elementos incrustados se organizan en un solo archivo. Esta es una idea muy
interesante de Laravel que mejora la organizaci�n de las vistas y su rendimiento.
Sobre todo cuando las vistas pueden llegar a ser muy complejas incluso con
elementos anidados. En el render de una Vista completa en Laravel se usan dos
archivos: la plantilla definiendo el HTML global y las zonas a incluir. Un s�lo
archivo, la Vista, con los elementos (partial views).

Un ejemplo t�pico para una plantilla HTML5 de Blade:


<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>@yield('titulo')</title>
</head>
<body>
@yield('navegacion')
</body>
</html>
En la plantilla presentada, el c�digo @yield() identifica al m�todo donde como
par�metro se indica el nombre de la zona desplegar. Por otro lado, el c�digo de la
vista, donde se define la plantilla a usar y la informaci�n de las distintas zonas
a desplegar:

<!-- identificando la plantilla a utilizar -->


@extends('template')

<!-- definiendo una zona -->


@section('titulo')

@endsection

<!-- definiendo otra zona -->


@section('navegacion')

@endsection
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.adem�s de eso

Un ejemplo de un controlador en Laravel:

class UserController extends BaseController {


public function mostrarPerfil($id)
{
$user = User::find($id);
return View::make('user.profile', array('user' => $user));
}
}
Estos pueden ser llamados en las rutas de diferentes maneras, pero la m�s com�n
us�ndo rutas es:

Route::get('user/{id}', 'UserController@mostrarPerfil');
Influencia
La influencia de Laravel ha crecido r�pidamente desde su lanzamiento. En la
comunidad de desarrolladores es considerado como 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 m�s antiguos.

Referencias
. 2019-10-29 de mdy https://laravel-news.com/laravel-6-4. Consultado el 2019-10-29
de mdy. Falta el |t�tulo= (ayuda)
Desarrolladores de Laravel (ed.). �Introduccion - Documentation Laravel PHP
Framework�. http://laravel.com (en ingl�s). Archivado desde el original el 29 de
septiembre de 2013. Consultado el 14 de septiembre de 2013.
Desarrolladores de Laravel (ed.). �Routing - Documentation Laravel PHP Framework�.
http://laravel.com (en ingl�s). Consultado el 14 de septiembre de 2013.
Desarrolladores de Laravel (ed.). �Templates - Documentation Laravel PHP
Framework�. http://laravel.com (en ingl�s). Archivado desde el original el 16 de
septiembre de 2013. Consultado el 14 de septiembre de 2013.
Rees, Dayle. �Code Happy - Blade Templates� (en ingl�s). Consultado el 14 de
septiembre de 2013.
Desarrolladores de Laravel (ed.). �Query Builder - Documentation Laravel PHP
Framework�. http://laravel.com (en ingl�s). Consultado el 14 de septiembre de 2013.
Desarrolladores de Laravel (ed.). �Eloquent ORM - Documentation Laravel PHP
Framework�. http://laravel.com (en ingl�s). Consultado el 14 de septiembre de 2013.
Desarrolladores de Laravel (ed.). �Package Development - Documentation Laravel PHP
Framework�. http://laravel.com (en ingl�s). Consultado el 14 de septiembre de 2013.
Desarrolladores de Laravel (ed.). �Cache - Documentation Laravel PHP Framework�.
http://laravel.com (en ingl�s). Consultado el 14 de septiembre de 2013.
�Architecture of Laravel Applications - Laravel Book� (en ingl�s). Consultado el
14 de septiembre de 2013.
�Laravel 4 - Laravel Wiki� (en ingl�s). Archivado desde el original el 8 de
septiembre de 2013. Consultado el 14 de septiembre de 2013.
�PSR-2 Gu�a de estilo de codificaci�n�. Archivado desde el original el 10 de mayo
de 2015. Consultado el 29 de julio de 2015.
�PSR-4 Autoloader� (en ingl�s). Consultado el 29 de julio de 2015.
�PHP Standards Recommendations� (en ingl�s). Consultado el 26 de julio de 2017.
Enlaces externos
P�gina oficial
Descargar �ltima Versi�n
Comunidad Laraveles.com de Laravel en espa�ol
Documentaci�n Oficial
Libro Oficial versi�n 3
Libro Oficial versi�n 4
TDD en Laravel
Repositorio en Github
Videos Tutoriales
Laravel IRC

También podría gustarte