Laravel 5.1
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.
¿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
Comenzando con Laravel
• Instalación
Se puede instalar con composer y laravel installer
composer global require "laravel/installer=~1.1"
laravel new blog
Se puede instalar directamente usando composer
composer 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
Componentes Básicos
• Rutas
• Controladores
• Vistas
• Modelo
• ORM (Eloquent)
• Query Builder (Fluent)
• Migraciones
• Seeders
• Artisan (CLI)
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.
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) {
//
});
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.
Controladores Básicos
Route::get('user/{id}', 'UserController@showProfile');
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
Controladores Implícitos
Route::controller('users', 'UserController');
Vistas
Laravel 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
Definiendo un Layout
Herencia de Plantillas
Incluir Secciones
Mostrar datos
Escribir estructuras de PHP resumidas
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 = AppFlight::where('active', 1)->count();
$max = AppFlight::where('active', 1)-
>max('price');
//Recupera por id
$flight = AppFlight::find(1);
// Recupera el primer registro que coincide con el
filtro
$flight = AppFlight::where('active', 1)->first();
//Guarda un nuevo Registro
$flight = new Flight;
$flight->name = $request->name;
$flight->save();
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');
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.
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.
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.
Herramientas
• Laravel.com
• Laracasts.com
• Styde.net
• Laraveles.com
• Laravel-news.com
Gracias!
Martin Guadalupe Facundo Goñi
Buscanos en
Coffeedevs.com
@coffeedevs
fb.com/coffeedevs

Más contenido relacionado

PDF
Laravel vc
PDF
Desarrollo rápido de apps web con laravel - DevAcademy
PPTX
Framework Laravel
ODP
Introducción a Kohana Framework
PPTX
01- instalacion de laravel 5+ (dos formas sencillas )
PPTX
Desarrollo Web con Kohana Framework PHP
Laravel vc
Desarrollo rápido de apps web con laravel - DevAcademy
Framework Laravel
Introducción a Kohana Framework
01- instalacion de laravel 5+ (dos formas sencillas )
Desarrollo Web con Kohana Framework PHP

La actualidad más candente (20)

PPTX
Pleased to meet you, Laravel
PPTX
Laravel 4.2 pdf
PDF
Breve introducción a Apache Ant
PDF
Tutorial de cakePHP itst
PPTX
MVC en CakePHP 2.0
PDF
Introducción a Tomcat
PPSX
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
PPTX
Presentación de zan php
PPTX
PPTX
Maven Divide tu código, pruébalo y vencerás
PDF
Ruby on Rails - ETyC 2011
PDF
Conociendo a Laravel, el Framework de PHP para artesanos de la web
ODP
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
PPTX
Taller de kumbiaPHP Mexico ITSJR
PPTX
CRUD básico con Symfony
PDF
Estructura de Directorio de KumbiaPHP Framework versión 1.0 Spirit
PPT
Kumbia PHP Framework - Inicios, Presente y Futuro
PPTX
Framework kahana
Pleased to meet you, Laravel
Laravel 4.2 pdf
Breve introducción a Apache Ant
Tutorial de cakePHP itst
MVC en CakePHP 2.0
Introducción a Tomcat
Desarrollo rapido de aplicaciones web en php con el framework cakephp + scaffold
Presentación de zan php
Maven Divide tu código, pruébalo y vencerás
Ruby on Rails - ETyC 2011
Conociendo a Laravel, el Framework de PHP para artesanos de la web
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Taller de kumbiaPHP Mexico ITSJR
CRUD básico con Symfony
Estructura de Directorio de KumbiaPHP Framework versión 1.0 Spirit
Kumbia PHP Framework - Inicios, Presente y Futuro
Framework kahana
Publicidad

Destacado (20)

PPTX
Taller de laravel
PDF
Entendiendo Yii
PPTX
Ambientes
PDF
Hacking The Human Interface
PPT
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
PDF
Presentacion YII
PDF
Yii php framework
PPT
laravel Elegant artisan by santosh pawar
PDF
Andres Gutierrez
PDF
Keeping Eloquent Eloquent
PDF
Stop multiplying by 4 Laracon
PPTX
FRAMEWORD Yii
PPTX
Yii inicios
PPSX
Yii framework
PDF
Cakephp 3
PDF
Framework Yii
PDF
Yupp PHP Framework
PDF
Apresentando o Yii Framework
PPT
Yii framework
PPTX
yii framework
Taller de laravel
Entendiendo Yii
Ambientes
Hacking The Human Interface
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Presentacion YII
Yii php framework
laravel Elegant artisan by santosh pawar
Andres Gutierrez
Keeping Eloquent Eloquent
Stop multiplying by 4 Laracon
FRAMEWORD Yii
Yii inicios
Yii framework
Cakephp 3
Framework Yii
Yupp PHP Framework
Apresentando o Yii Framework
Yii framework
yii framework
Publicidad

Similar a Introducción a Laravel 5 - Un Framework para Artesanos Web (20)

PDF
Laravel 5.1
ODP
Desarrollo de Apps Web en Ruby on Rails
PDF
-.-manual de LARAVEL bootcamp blablab-.-
PDF
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
PDF
Programacion web java
PPTX
servlets
PPTX
POO Y CONFIGURACION API REST FRAMEWORK DJANGO.pptx
PPTX
APIREST LARAVEL Y PHP.pptx
PDF
Probando aplicaciones AngularJS
PPTX
Framework
PDF
Symfony 2 CMF
PDF
PDF
PPTX
Introduccion A Php
 
PPTX
Introduccion A Php
 
PPTX
Introduccion A Php
 
PDF
Code Igniter
PDF
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
PDF
-.-Manual Laravel bootcamp blablabla-.-.
Laravel 5.1
Desarrollo de Apps Web en Ruby on Rails
-.-manual de LARAVEL bootcamp blablab-.-
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Programacion web java
servlets
POO Y CONFIGURACION API REST FRAMEWORK DJANGO.pptx
APIREST LARAVEL Y PHP.pptx
Probando aplicaciones AngularJS
Framework
Symfony 2 CMF
Introduccion A Php
 
Introduccion A Php
 
Introduccion A Php
 
Code Igniter
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
-.-Manual Laravel bootcamp blablabla-.-.

Último (14)

PPTX
Buscadores de información Ricardo Enriquez.pptx
PPTX
NORMA ISO 27001 SO/IEC-27001 - Casos de Exito
PPTX
423439882-Auditoria-de-Base-de-Datos.pptx
PPTX
El manual del Lenguaje de Programacion C .pptx
PDF
Herramientas-de-Recuperacion-de-Datos en Informática Forense.pdf
PPTX
Tercera forma normal para el desarrollo de software
PPTX
como hacer un archivo documento word.pptx
PPTX
Diagrama de componentes Arquitectura de software.pptx
PPTX
2. Introducción al SDLC (Ciclo de Vida de Sistemas).pptx
PPTX
CURSO OPUS 2023 V2022 carga de presupuesto
PPTX
1. Introducción al Ciclo de Vida de Sistemas.pptx
PDF
investigacion de documento como hacer la documentacion de un proyecto
PDF
MONGO DB GESTOR DE BASE DE DATOS NO RELACIONAL
PDF
La próxima década de Cloud Native - 10 años de CNCF
Buscadores de información Ricardo Enriquez.pptx
NORMA ISO 27001 SO/IEC-27001 - Casos de Exito
423439882-Auditoria-de-Base-de-Datos.pptx
El manual del Lenguaje de Programacion C .pptx
Herramientas-de-Recuperacion-de-Datos en Informática Forense.pdf
Tercera forma normal para el desarrollo de software
como hacer un archivo documento word.pptx
Diagrama de componentes Arquitectura de software.pptx
2. Introducción al SDLC (Ciclo de Vida de Sistemas).pptx
CURSO OPUS 2023 V2022 carga de presupuesto
1. Introducción al Ciclo de Vida de Sistemas.pptx
investigacion de documento como hacer la documentacion de un proyecto
MONGO DB GESTOR DE BASE DE DATOS NO RELACIONAL
La próxima década de Cloud Native - 10 años de CNCF

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

  • 2. ¿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.
  • 3. ¿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
  • 4. Comenzando con Laravel • Instalación Se puede instalar con composer y laravel installer composer global require "laravel/installer=~1.1" laravel new blog Se puede instalar directamente usando composer composer 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
  • 5. Componentes Básicos • Rutas • Controladores • Vistas • Modelo • ORM (Eloquent) • Query Builder (Fluent) • Migraciones • Seeders • Artisan (CLI)
  • 6. 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.
  • 7. 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) { // });
  • 8. 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.
  • 10. 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
  • 12. Vistas Laravel 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
  • 16. Escribir estructuras de PHP resumidas
  • 17. 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 = AppFlight::where('active', 1)->count(); $max = AppFlight::where('active', 1)- >max('price'); //Recupera por id $flight = AppFlight::find(1); // Recupera el primer registro que coincide con el filtro $flight = AppFlight::where('active', 1)->first(); //Guarda un nuevo Registro $flight = new Flight; $flight->name = $request->name; $flight->save();
  • 18. 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');
  • 19. 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.
  • 20. 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.
  • 21. 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.
  • 22. Herramientas • Laravel.com • Laracasts.com • Styde.net • Laraveles.com • Laravel-news.com
  • 23. Gracias! Martin Guadalupe Facundo Goñi Buscanos en Coffeedevs.com @coffeedevs fb.com/coffeedevs