Laravel

Simplicity is the ultimate sophistication.
Leonardo da Vinci

Historia

Fue creado en 2011 por Taylor Otwell  y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC

Filosofia

Es desarrollar código PHP de forma elegante y simple, evitando el "código espagueti"

Caracteristicas

Gestor de Dependencias para PHP, permite declarar, descargar y actualizar las dependencias.

https://getcomposer.org/

Es el repositorio de todos las dependencias y/o paquetes que se pueden instalar mediante Composer.

https://packagist.org/

Laravel es LTS

El soporte a largo plazo (en inglés, Long Term Support, abreviadamente, LTS) es un término informático usado para nombrar versiones o ediciones especiales de software diseñadas para tener soportes durante un período más largo que el normal. (Wikipedia)

https://laravel-news.com/2015/05/laravel-announces-v5-1-will-be-lts/

Laravel esta basado en muchos componentes del framework tambien de PHP llamado Symfony creado por Fabien Potencier que son estables y tambien son LTS

Tiene una de las  comunidades mas activa de todos los frameworks.

Blade

Motor de plantilla simple, pero muy potente que proporciona Laravel, es impulsado por la herencia de plantillas y secciones. Para que un archivo sea de Blade debe de ser extension blade.php

Ejemplo

<html>
    <head>
        <title>App Name - @yield('title')</title>
    </head>
    <body>
        @section('sidebar')
            This is the master sidebar.
        @show

        <div class="container">
            @yield('content')
        </div>
    </body>
</html>

Eloquent

Eloquent es el ORM que provee Laravel, y ofrece una simple implementacion de ActiveRecord. Cada tabla de la base de datos tiene su correspondiente un Modelo

Ejemplo

$users = User::where('votes', '>', 100)->take(10)->get();

$users = User::whereRaw('age > ? and votes = 100', [25])->get();

$count = User::where('votes', '>', 100)->count();

$user = new User;
$user->name = 'John';
$user->save();

Laravel se ajusta tanto para proyectos sencillos (Facades, Helpers) como para proyectos complejos (Inyección de dependencias, Middlewares)

Permite la implementacion del patron MVC, con lo cual podemos usar Modelos, Vistas y Controladores

Sintaxis muy expresiva y elegante

<?php
namespace App\Models;

class BlockImage extends BaseModel
{
    	public $_relations = [
		'block'
	];

	protected $table = 'block_images';

	protected $fillable = [
		'id_block',
		'title',
		'description',
		'link',
		'type'
	];

	// Relations
	public function block()
	{
		return $this->hasOne('App\Models\Block', 'id', 'id_block');
	}
}

Lumen

http://lumen.laravel.com/

Es un micro-framework creado por los propios desarrolladores de Laravel, es super-rápido muy útil para hacer API's pequeñas.

Muchas Gracias
:)

Made with Slides.com