Aprende Laravel

Desarrollando un Proyecto

Y deja de hacerte wey!

Requerimientos

✔ Saber prender una computadora
 No tenerle miedo al código
Fundamentos de programación
- Saber invertir un árbol binario en reversa
  (tranquilo, esto NO es necesario 😄)

 PHP básico

 POO (clases, métodos, objetos)

Quién Soy

Especialista en:
hacer que funcione solo en mi máquina.

Creo features que parecen bugs, pero no es un bug, es una experiencia emergente.

Doctorado honoris causa en:
“no documentar absolutamente nada”.

Mejor amigo del vibe coding

El wey tiene 10 años de experiencia como Dev.

¿Por Qué un Framework?

Facilita el desarrollo,

mejora la organización

y promueve buenas prácticas.

Sin esto no serías una basura incompetente en el mercado Laboral actual.

¿Por Qué Laravel?

Por qué quiero y por...
  • Ecosistema robusto y maduro
  • Una arquitectura fácil de aprender (MVC)
  • Autenticación y autorización listas para usar
  • Eloquent ORM (productivo y expresivo)
  • Artisan CLI para automatizar tareas
  • Testing integrado (Pest / PHPUnit)
  • Sistema de colas (Queues) y Jobs
  • Scheduling de tareas (cron sin dolor)
  • Envío de correos integrado (Mail)
  • Paquetes vía Composer
  • Ideal para desarrollo rápido de MVPs
  • Excelente esperiencia de Desarrollo (DX)
  • Documentación clara y comunidad

Genial ¿Qué Vamos a Construir?

Huma to Eloquent

Una web app completa

Entorno de Desarrollo

Instalación de un entorno local para

PHP / Laravel

Si eres usuario windows, seguramente no

eres muy bueno con las PCs entonces

usa las mismas herramientas y versiones que yo para que no andes de preguntón

Comer-cial

Crear
Proyecto

Al principio puede ser intimidante

Estructura de un Proyecto Laravel

Dinámica Básica de Laravel

Ruta (url)

Controlador

Modelo

Vista

request
response

Dinámica Básica de Laravel #1

Ruta (url)

Vista

request
response

Dinámica Básica de Laravel #2

Ruta (url)

Controlador

Vista

request
response

Dinámica Básica de Laravel #3

Ruta (url)

Controlador

Modelo

Vista

request
response

Laravel y Base de datos

Configuración Inicial

Laravel 12 viene preparado para trabajar de manera automática con SQLite

Es la base de datos completa es un solo archivo (.database) que vive directamente en la carpeta de tu proyecto.

SQLite

.env: Aquí se guardan las variables de entorno (valores que no deberían compartirse o ser públicos).

Migraciones

"Las migraciones en Laravel actúan como un sistema de control de versiones para tu base de datos. Permiten definir, modificar y compartir la estructura de las tablas utilizando código PHP (vía el Schema Builder).

 garantizando que todo el equipo trabaje sobre el mismo esquema sin necesidad de compartir archivos SQL manualmente.

Eloquent

Eloquent es el ORM (Object-Relational Mapper) que viene por defecto en Laravel. Su función es "mapear" las tablas de tu base de datos a modelos (clases de PHP). 
 garantizando que todo el equipo trabaje sobre el mismo esquema sin necesidad de compartir archivos SQL manualmente.

Eloquent convierte tus tablas de la BD en objetos PHP para que puedas interactuar con ellos de manera más elegante💅

Integrar modelos de  I.A. en Laravel

  • ¿Composer?
  • Laravel Prism?
  • Groq?

@youdevs

  • Instagram
  • TikTok
  • YouTube
    • Conviértete en miembro y accede a las grabaciones de los streams.
    • Y a otros beneficios :)
    • Apoya a un Dev.

Gracias por Ver

Fin de la 4ta Sesión

Directivas Blade

Blade es el motor de plantillas de Laravel.
Todo lo que escribes en Blade se convierte a PHP, pero con una sintaxis mucho más limpia y legible.

CSRF

Protege tu app de envíos de formularios falsos.

<form method="POST">
    @csrf
</form>

Claves

  • Obligatorio en POST / PUT / PATCH / DELETE

  • Sin token → error 419

📦Recibir datos de la Request

Protege tu app de envíos de formularios falsos.

request()->all(); // #1
$request->all(); // #2

$request->input('prompt');

Validación rápida

$request->validate([
    'title' => 'required',
    'status' => 'required',
]);

Mensajes Flash + Tailwind

Los mensajes flash son mensajes temporales guardados en la sesión.
Sirven para mostrar feedback una sola vez, normalmente después de una redirección.

return redirect()
    ->back()
    ->with('success', 'Tarea guardada correctamente');

->with('key', 'valor') al redirigir, almacenan datos temporales en la sesión que se eliminan automáticamente después de ser mostrados en la siguiente solicitud.

Aprende

By Carlos Hernández

Aprende

  • 11