Introducción a Laravel 5 - Un Framework para Artesanos Web

23
Laravel 5.1 Framework para artesanos web

Transcript of Introducción a Laravel 5 - Un Framework para Artesanos Web

Page 1: Introducción a Laravel 5 - Un Framework para Artesanos Web

Laravel 5.1Framework para artesanos web

Page 2: Introducción a Laravel 5 - Un Framework para Artesanos Web

¿Qué es Laravel?• Laravel es un framework MVC para PHP desarrollado por Taylor

Otwell (@taylorotwell).

• Su objetivo es reducir el tiempo de desarrollo eliminando las tareas tediosas y facilitando una sintaxis clara y concisa.

Page 3: Introducción a Laravel 5 - Un Framework para Artesanos Web

¿Por qué Laravel?• Sintaxis expresiva• Limpio (Con poco código se hace mucho)• Curva de aprendizaje baja (Simple)• Aprovecha al máximo las últimas características de PHP• Integrado con Composer• Integrado con Git

Page 4: Introducción a Laravel 5 - Un Framework para Artesanos Web

Comenzando con Laravel• Instalación

Se puede instalar con composer y laravel installercomposer global require "laravel/installer=~1.1" laravel new blog

Se puede instalar directamente usando composercomposer create-project laravel/laravel --prefer-dist

• Configuración Básica• En config/app.php tenemos toda la configuración básica de la app• Para realizar configuraciones locales utilizamos el archivo .env

Page 5: Introducción a Laravel 5 - Un Framework para Artesanos Web

Componentes Básicos• Rutas• Controladores• Vistas• Modelo• ORM (Eloquent)• Query Builder (Fluent)• Migraciones• Seeders

• Artisan (CLI)

Page 6: Introducción a Laravel 5 - Un Framework para Artesanos Web

Rutas• Utilizamos el archivo app/Http/routes.php

• Definimos todas las rutas que va a tener nuestra aplicación

• Podemos elegir el verbo con el cual va a responder la ruta.

• En proyectos simples, podemos usar Closures para implementar las respuestas de las rutas.

Page 7: Introducción a Laravel 5 - Un Framework para Artesanos Web

Definiciones Básicas// Un solo verbo

Route::get('/', function () { return 'Hello World';});

Route::post('foo/bar', function () { return 'Hello World';});

Route::put('foo/bar', function () { //});

Route::delete('foo/bar', function () { //});

// Con varios verbos

Route::match(['get', 'post'], '/', function () { return 'Hello World';});

// Con parámetros requeridos

Route::get('user/{id}', function ($id) { return 'User '.$id;});

Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) { //});

Page 8: Introducción a Laravel 5 - Un Framework para Artesanos Web

Controladores• En vez de definir la lógica de cada ruta en routes.php, se pueden

utilizar clases que extiendan de la clase Controller.

• Los controladores pueden agrupar las solicitudes HTTP relacionadas y manejarlas dentro de la clase.

Page 9: Introducción a Laravel 5 - Un Framework para Artesanos Web

Controladores Básicos Route::get('user/{id}', 'UserController@showProfile');

Page 10: Introducción a Laravel 5 - Un Framework para Artesanos Web

Controladores para RESTFul Route::resource('photo', 'PhotoController');

Verb Path Action Route Name

GET /photo index photo.index

GET /photo/create create photo.create

POST /photo store photo.store

GET /photo/{photo} show photo.show

GET /photo/{photo}/edit edit photo.edit

PUT/PATCH /photo/{photo} update photo.update

DELETE /photo/{photo} destroy photo.destroy

Page 11: Introducción a Laravel 5 - Un Framework para Artesanos Web

Controladores Implícitos Route::controller('users', 'UserController');

Page 12: Introducción a Laravel 5 - Un Framework para Artesanos Web

VistasLaravel incluye un sistema de plantillas llamado Blade.

Este sistema permite:• Realizar herencia de plantillas.• Incluir secciones.• Sobrescribir secciones.• Escribir estructuras de PHP de forma resumida aunque nos permite

escribir instrucciones de PHP normales

Page 13: Introducción a Laravel 5 - Un Framework para Artesanos Web

Definiendo un Layout

Page 14: Introducción a Laravel 5 - Un Framework para Artesanos Web

Herencia de Plantillas

Page 15: Introducción a Laravel 5 - Un Framework para Artesanos Web

Incluir Secciones

Mostrar datos

Page 16: Introducción a Laravel 5 - Un Framework para Artesanos Web

Escribir estructuras de PHP resumidas

Page 17: Introducción a Laravel 5 - Un Framework para Artesanos Web

ORM Eloquent• El ORM, llamado Eloquent, incluido en Laravel provee una

implementación elegante y sencilla de ActiveRecord (registro activo) para trabajar con la base de datos.• Cada entidad de la base de datos tiene un "Modelo" asociado, el cual

se utiliza para interactuar con esa tabla.

$count = App\Flight::where('active', 1)->count();

$max = App\Flight::where('active', 1)->max('price');

//Recupera por id$flight = App\Flight::find(1);

// Recupera el primer registro que coincide con el filtro$flight = App\Flight::where('active', 1)->first();

//Guarda un nuevo Registro$flight = new Flight;

$flight->name = $request->name;

$flight->save();

Page 18: Introducción a Laravel 5 - Un Framework para Artesanos Web

Query Builder - Fluent• Laravel nos provee un Database Query Builder, el cual nos permite

crear y ejecutar consultas en la base de datos. Esto puede ser usado para ejecutar la mayoría de las operaciones habituales y trabaja con los sistemas de base de datos soportados por Laravel • A diferencia de el ORM, utiliza StdClass para representar los objetos.

$users = DB::table('users')->get();

$user = DB::table('users')->where('name', 'John')->first();

$email = DB::table('users')->where('name', 'John')->value('email');

Page 19: Introducción a Laravel 5 - Un Framework para Artesanos Web

Migraciones• Las migraciones son como un control de versiones para nuestra base

de datos.• Nos permite fácilmente modificar y compartir el esquema de la base

de datos de nuestro proyecto, especialmente útil para trabajar en equipos.

Page 20: Introducción a Laravel 5 - Un Framework para Artesanos Web

Seeders• Laravel incluye un método simple para llenar nuestra base de datos

con datos de prueba usando clases Seed.• Las clases Seed pueden tener el nombre que querramos, pero por

convención nos conviene utilizar la forma UserTableSeeder.• Por defecto, el proyecto cuenta con la clase DatabaseSeeder, donde

podemos hacer llamadas a las diferentes clases Seeder que vamos creando.

Page 21: Introducción a Laravel 5 - Un Framework para Artesanos Web

Artisan (CLI)• Es una Command Line Interface extensible que permite realizar

fácilmente operaciones habituales en el Framework, como la creación de Controllers, Modelos o ejecutar migraciones y seeding.

• Podemos armar nuestros propios comandos, extendiendo la clase Command.

Page 22: Introducción a Laravel 5 - Un Framework para Artesanos Web

Herramientas• Laravel.com• Laracasts.com• Styde.net• Laraveles.com• Laravel-news.com

Page 23: Introducción a Laravel 5 - Un Framework para Artesanos Web

Gracias!

Martin Guadalupe Facundo Goñi

Buscanos en Coffeedevs.com

@coffeedevsfb.com/coffeedevs