3. Historia
Taylor Otwell
Laravel es un framework de código abierto para
desarrollar aplicaciones y servicios web con PHP 5 y
PHP 8. 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. Sus características:
● Sistema de ruteo, también RESTful
● Blade, Motor de plantillas
● Peticiones Fluent
● Eloquent ORM
● Basado en Composer
● Soporte para el caché
● Soporte para MVC
● Usa componentes de Symfony
● Adopta las especificaciones PSR-212 y PSR-4
01_Introducción.mp4
4. Referencias. Webs y Libros
Oficial https://laravel.com/docs/9.x
blog sobre Laravel https://fullstackseries.com/category/laravel/
introducción a laravel https://daylerees.com/codesmart/
stackoverflow php https://stackoverflow.com/questions/tagged/laravel
Canal Youtube Paco
Gomez
www.youtube.com/c/PacoGomez
Curso PHP
https://www.youtube.com/watch?v=gpXlm0CLVt8&list=PLm0WEBt1zBgI
OEDmqEuY47x_JnfiW51s5
App con Symfony 3
https://www.youtube.com/watch?v=oAp3fbZ8uYw&list=PLm0WEBt1zBgJ
yj8ETsWFaQWo0YwViX37u
5. Plugins de VS Code
Laravel Snippets
Laravel Blade Snippets
Laravel Artisan
Laravel goto view
02_Entorno.mp4
8. Instalación Composer
https://getcomposer.org/download/
Composer es un manejador de
paquetes para PHP que proporciona un
estándar para administrar, descargar e
instalar dependencias y librerías. Similar
a NPM en Node.js y Bundler en Ruby,
Composer es la solución ideal cuando
trabajamos en proyectos complejos que
dependen de múltiples fuentes de
instalación. En lugar de tener que
descargar cada dependencia de forma
manual, Composer hace esto de forma
automática por nosotros.
Accedemos a la página oficial, descargamos
el archivo de instalación y lo ejecutamos.
10. Instalación
https://laravel.com/docs/9.x
El marco de Laravel tiene algunos
requisitos del sistema. La máquina
virtual Laravel Homestead satisface
todos estos requisitos, por lo que se
recomienda que utilice Homestead
como su entorno de desarrollo local de
Laravel.
composer global require laravel/installer
11. Nuevo proyecto
https://laravel.com/docs/7.x
Crear un nuevo proyecto es generar una
estructura preparada de directorios que
contiene todo lo necesario para
comenzar a trabajar en una nueva
aplicación.
laravel new blog
composer create-project --prefer-dist
laravel/laravel blog
15. MVC
Modelo-vista-controlador (MVC) es un
patrón de arquitectura de software, que
separa los datos y principalmente lo que es
la lógica de negocio de una aplicación de su
representación y el módulo encargado de
gestionar los eventos y las comunicaciones.
Para ello MVC propone la construcción de
tres componentes distintos que son el
modelo, la vista y el controlador, es decir, por
un lado define componentes para la
representación de la información, y por otro
lado para la interacción del usuario. Este
patrón de arquitectura de software se basa
en las ideas de reutilización de código y la
separación de conceptos, características que
buscan facilitar la tarea de desarrollo de
aplicaciones y su posterior mantenimiento.
18. Ruta raíz
https://laravel.com/docs/9.x/routing
La ruta definida en el esqueleto de la
aplicación instalada define
principalmente 3 conceptos:
1. El método que recibe
2. La ruta
3. Y la acción a realizar
04_Enrutado_basico.mp4
Route::get('/', function () {
return view('welcome');
});
19. Vista
https://laravel.com/docs/9.x/routing
Uno de los primeros conceptos que nos
aparecen en el enrutado básico es qué
presentamos al usuario final, cúal es la
vista que presentamos.
04_Enrutado_basico.mp4
Route::get('/', function () {
return view('welcome');
});
20. Opciones respuestas
https://laravel.com/docs/9.x/routing
Laravel nos ayuda en nuestro trabajo de
de automatización de código y
aplicación sin dejar de lado las
características del patrón MVC. Cuando
se define una ruta, automáticamente
podemos definir la respuesta.
04_Enrutado_basico_II.mp4
Route::get('/', function () {
return ["nombre"=>"Paco"];
});
22. Error vista no encontrada
https://laravel.com/docs/9.x/routing
04_Enrutado_basico_III.mp4
Route::get('/contactar', function () {
return view('welcome');
});
23. Creación de nueva vista. Blade
https://laravel.com/docs/9.0/routing
04_Enrutado_basico_III.mp4
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
Página contactar
</body>
</html>
08_Blade.mp4
24. Error. Ruta no encontrada
https://laravel.com/docs/9.x/errors#cust
om-http-error-pages
Laravel facilita la visualización de
páginas de error personalizadas para
varios códigos de estado HTTP. Por
ejemplo, si desea personalizar la página
de error para los códigos de estado
HTTP 404, cree un archivo
resources/views/errors/404.blade.php.
Este archivo se servirá en todos los
errores 404 generados por su aplicación.
25. Blade. Master layout
https://laravel.com/docs/9.x/blade
23_blade_layout.mp44
@yield('content')
Dos de los principales beneficios de usar
Blade son la herencia de plantillas y las
secciones. Para empezar, echemos un
vistazo a un ejemplo sencillo. Primero,
examinaremos un diseño de página
"master". Dado que la mayoría de las
aplicaciones web mantienen el mismo
diseño general en varias páginas, es
conveniente definir este diseño como
una sola vista Blade
@extends('layout')
@section('content')
Prueba
@endsection
26. Carpeta ṕublica y recursos.
https://laravel.com/docs/9.x/blade
23_blade_layout.mp44
28. Parámetros requeridos.
https://laravel.com/docs/9.x/routing#ro
ute-parameters
A veces necesitará capturar segmentos
del URI dentro de su ruta. Por ejemplo,
es posible que deba capturar la ID de un
usuario de la URL. Puede hacerlo
definiendo parámetros de ruta:
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Route::get('posts/{post}/comments/{comment}'
, function ($postId, $commentId) {
//
});
29. Query params
https://laravel.com/docs/9.x/routing#ro
ute-parameters
Ocasionalmente, es posible que
necesite especificar un parámetro de
ruta, pero haga que la presencia de ese
parámetro de ruta sea opcional. Puede
hacerlo colocando un ? marque
después del nombre del parámetro.
Route::get('user/{name?}', function ($name =
null) {
return $name;
});
Route::get('user/{name?}', function ($name =
'John') {
return $name;
});
31. Laravel DB
https://laravel.com/docs/9.x/database
Laravel hace que la interacción con las
bases de datos sea extremadamente
simple en una variedad de backends de
bases de datos utilizando SQL sin
procesar, el generador de consultas
fluidas y el ORM Eloquent.
RAW SQL
"Raw SQL", que sería como escribir las consultas SQL "en
crudo". En este tipo de acceso realizamos directamente el
SQL de las consultas, que ejecutamos vía la clase BD que
es una fachadas que nos ofrece Laravel.
https://laravel.com/docs/9.x/queries
https://laravel.com/docs/9.x/eloquent
13_Config_db.mp4
33. Configuración de variables de entorno
https://laravel.com/docs/9.x/configurati
on#environment-configuration
Suele ser útil tener diferentes valores de
configuración según el entorno en el que se
ejecuta la aplicación. Por ejemplo, es
posible que desee utilizar localmente un
controlador de caché diferente al que utiliza
en su servidor de producción.
Para que esto sea pan comido, Laravel
utiliza la biblioteca PHP DotEnv de Vance
Lucas. En una instalación nueva de Laravel,
el directorio raíz de su aplicación contendrá
un archivo .env.example. Si instala Laravel a
través de Composer, este archivo cambiará
automáticamente de nombre a .env. De lo
contrario, debe cambiar el nombre del
archivo manualmente.
…
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=agenda_laravel
DB_USERNAME=root
DB_PASSWORD=
34. database.php
https://laravel.com/docs/9.x/configurati
on#environment-configuration
Suele ser útil tener diferentes valores de
configuración según el entorno en el que se
ejecuta la aplicación. Por ejemplo, es
posible que desee utilizar localmente un
controlador de caché diferente al que utiliza
en su servidor de producción.
Para que esto sea pan comido, Laravel
utiliza la biblioteca PHP DotEnv de Vance
Lucas. En una instalación nueva de Laravel,
el directorio raíz de su aplicación contendrá
un archivo .env.example. Si instala Laravel a
través de Composer, este archivo cambiará
automáticamente de nombre a .env. De lo
contrario, debe cambiar el nombre del
archivo manualmente.
<?php
use IlluminateSupportStr;
return [
/*
|------------------------------------------------------------------------
--
| Default Database Connection Name
|------------------------------------------------------------------------
--
|
| Here you may specify which of the database connections below you
wish
| to use as your default connection for all database work. Of course
| you may use many connections at once using the Database library.
|
*/
'default' => env('DB_CONNECTION', 'mysql'),