SlideShare una empresa de Scribd logo
Laravel 5.1
Framework para artesanos web
René Sandoval
¿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
Se
acabo!
René Sandoval

Más contenido relacionado

La actualidad más candente

Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
superserch
 
Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
Miguel Angel Nieto
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
Emanuel Calvo
 
Apache3 christiany victor
Apache3 christiany victorApache3 christiany victor
Apache3 christiany victorcrisbeme
 
Comandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSiteComandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSite
Juan Astudillo
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
Eric Gustavo Coronel Castillo
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
Manuel Antonio
 
CakePHP parte 2
CakePHP parte 2CakePHP parte 2
CakePHP parte 2
Cesar Eduardo Suarez T
 
Exposicion apache kafka
Exposicion apache kafkaExposicion apache kafka
Exposicion apache kafka
Arlin11
 
Exposicion apache
Exposicion apacheExposicion apache
Exposicion apache
Arlin11
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
Javier Turégano Molina
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BI
T.I.C
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
Iker Canarias
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
Paradigma Digital
 
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHPPHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
Spacetoshare
 

La actualidad más candente (18)

Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
My sql ha-fina_lv2
My sql ha-fina_lv2My sql ha-fina_lv2
My sql ha-fina_lv2
 
Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
 
LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)LSWC PostgreSQL 9.1 (2011)
LSWC PostgreSQL 9.1 (2011)
 
Apache3 christiany victor
Apache3 christiany victorApache3 christiany victor
Apache3 christiany victor
 
Comandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSiteComandos Powershell Backup Restore SPSite
Comandos Powershell Backup Restore SPSite
 
Primer ejercicio php
Primer ejercicio phpPrimer ejercicio php
Primer ejercicio php
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
 
02%20 ant
02%20 ant02%20 ant
02%20 ant
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
 
CakePHP parte 2
CakePHP parte 2CakePHP parte 2
CakePHP parte 2
 
Exposicion apache kafka
Exposicion apache kafkaExposicion apache kafka
Exposicion apache kafka
 
Exposicion apache
Exposicion apacheExposicion apache
Exposicion apache
 
Administrando Jboss
Administrando JbossAdministrando Jboss
Administrando Jboss
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BI
 
Introducción a JBoss
Introducción a JBossIntroducción a JBoss
Introducción a JBoss
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHPPHP Tema 4 - Acceso a bases de datos MySQL en PHP
PHP Tema 4 - Acceso a bases de datos MySQL en PHP
 

Similar a Laravel 5.1

Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
Facundo E. Goñi Perez
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
Freelancer
 
Pleased to meet you, Laravel
Pleased to meet you, LaravelPleased to meet you, Laravel
Pleased to meet you, Laravel
Rolando Caldas
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
MarlonAlbertoGalvis
 
9.laravel
9.laravel9.laravel
Symfony 2 CMF
Symfony 2 CMFSymfony 2 CMF
Symfony 2 CMF
Ignacio Martín
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
Jorge Iván Meza Martínez
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperOscar V
 
servlets
servlets servlets
servlets
AltivaSA
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
omicx
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Phputs
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
JaenFrankcezco
 
Manualcake
ManualcakeManualcake
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Frameworkricsoc
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
Raaulroodriguez
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
Nelson Rojas Núñez
 

Similar a Laravel 5.1 (20)

Introducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos WebIntroducción a Laravel 5 - Un Framework para Artesanos Web
Introducción a Laravel 5 - Un Framework para Artesanos Web
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Pleased to meet you, Laravel
Pleased to meet you, LaravelPleased to meet you, Laravel
Pleased to meet you, Laravel
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
9.laravel
9.laravel9.laravel
9.laravel
 
Symfony 2 CMF
Symfony 2 CMFSymfony 2 CMF
Symfony 2 CMF
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component DeveloperGuia de estudio para Oracle Certified Java EE 6 Web Component Developer
Guia de estudio para Oracle Certified Java EE 6 Web Component Developer
 
Framework
FrameworkFramework
Framework
 
servlets
servlets servlets
servlets
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Introduccion A Php
Introduccion A PhpIntroduccion A Php
Introduccion A Php
 
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
Introduccion, Instalacion, Configuracion e Implementacion Framework ZanPHP IT...
 
Manualcake
ManualcakeManualcake
Manualcake
 
Desarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend FrameworkDesarrollo Aplicaciones Zend Framework
Desarrollo Aplicaciones Zend Framework
 
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdfPHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf PHP.pdf
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 

Más de René Sandoval

Consejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home officeConsejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home office
René Sandoval
 
No basta saber programar
No basta saber programarNo basta saber programar
No basta saber programar
René Sandoval
 
Futuro presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphonesFuturo presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphones
René Sandoval
 
Blockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentosBlockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentos
René Sandoval
 
La verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de softwareLa verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de software
René Sandoval
 
Skills para la industria 4.0
Skills para la industria 4.0Skills para la industria 4.0
Skills para la industria 4.0
René Sandoval
 
Producto Mínimo Viable
Producto Mínimo ViableProducto Mínimo Viable
Producto Mínimo Viable
René Sandoval
 
Primeras luchas de un joven programador
Primeras luchas de un joven programadorPrimeras luchas de un joven programador
Primeras luchas de un joven programador
René Sandoval
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
René Sandoval
 
Mozilla Firefox
Mozilla FirefoxMozilla Firefox
Mozilla Firefox
René Sandoval
 
Lo que callamos los programadores
Lo que callamos los programadoresLo que callamos los programadores
Lo que callamos los programadores
René Sandoval
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
René Sandoval
 

Más de René Sandoval (12)

Consejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home officeConsejos, recomendaciones mitos y realidad del home office
Consejos, recomendaciones mitos y realidad del home office
 
No basta saber programar
No basta saber programarNo basta saber programar
No basta saber programar
 
Futuro presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphonesFuturo presente del internet, computadoras, juegos y smartphones
Futuro presente del internet, computadoras, juegos y smartphones
 
Blockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentosBlockchain revolucionando la agricultura y el suministro de alimentos
Blockchain revolucionando la agricultura y el suministro de alimentos
 
La verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de softwareLa verdad sobre los equipos de trabajo en desarrollo de software
La verdad sobre los equipos de trabajo en desarrollo de software
 
Skills para la industria 4.0
Skills para la industria 4.0Skills para la industria 4.0
Skills para la industria 4.0
 
Producto Mínimo Viable
Producto Mínimo ViableProducto Mínimo Viable
Producto Mínimo Viable
 
Primeras luchas de un joven programador
Primeras luchas de un joven programadorPrimeras luchas de un joven programador
Primeras luchas de un joven programador
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Mozilla Firefox
Mozilla FirefoxMozilla Firefox
Mozilla Firefox
 
Lo que callamos los programadores
Lo que callamos los programadoresLo que callamos los programadores
Lo que callamos los programadores
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 

Último

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
Yisel56
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
KatiuskaDominguez2
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
AlanL15
 

Último (7)

CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................MODULOS INTEGRADOS.docx.....................................
MODULOS INTEGRADOS.docx.....................................
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptxTECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
TECLADO ERGONÓMICO Y PANTALLAS TACTILES.pptx
 
Arquitectura de Sistema de Reservaciones
Arquitectura de Sistema de ReservacionesArquitectura de Sistema de Reservaciones
Arquitectura de Sistema de Reservaciones
 

Laravel 5.1

  • 1. Laravel 5.1 Framework para artesanos web René Sandoval
  • 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