Saltar al contenido

file_download
Proyecto final 25-01-2025
N/A
file_download
Proyecto final 01-02-2025
N/A
file_download
Proyecto final 09-02-2025
N/A
file_download
Proyecto final 15-02-2025
N/A
play_circle_outline
vista previa
5 minutos
play_circle_outline
vista previa
5 minutos
play_circle_outline
vista previa
3 minutos
description
Recursos de interés
N/A

play_circle_outline
vista previa
5 minutos
play_circle_outline
vista previa
10 minutos

play_circle_outline
vista previa
4 minutos
play_circle_outline
vista previa
5 minutos

play_circle_outline
vista previa
7 minutos
play_circle_outline
vista previa
5 minutos
play_circle_outline
vista previa
8 minutos

play_circle_outline
vista previa
2 minutos
play_circle_outline
Eloquent Builders, ¿qué son y por qué debes utilizarlos?
3 minutos
play_circle_outline
Crear y Registrar el GroupBuilder
4 minutos
play_circle_outline
Configurando el modelo User
3 minutos

play_circle_outline
Crear y registrar el GroupController (Resource Controller)
3 minutos
play_circle_outline
Entendiendo los Transformadores de Datos
3 minutos
play_circle_outline
Desarrollando un Transformador Abstracto
8 minutos
play_circle_outline
Desarrollando un Transformador Concreto para Grupos
3 minutos
play_circle_outline
Modelo de Vista para el listado de grupos
8 minutos
play_circle_outline
Definir el método index en el GroupController utilizando el Modelo de Vista
6 minutos

play_circle_outline
Componente PageWrapper
3 minutos
play_circle_outline
Componente ActionButtons
4 minutos
play_circle_outline
Componente TableHeader
3 minutos
play_circle_outline
Componente TableEmptyRow
2 minutos
play_circle_outline
Componente TableContainer
7 minutos
play_circle_outline
Componente TableRow
2 minutos
play_circle_outline
Componente TableCell
3 minutos
play_circle_outline
Componente TableRowActions
6 minutos
play_circle_outline
Componente TablePagination
4 minutos

play_circle_outline
Listar los grupos utilizando los componentes X de Blade
10 minutos

play_circle_outline
Modelo de Vista UpsertGroupViewModel
11 minutos
play_circle_outline
Definir el método create en el GroupController
4 minutos

play_circle_outline
Componente FormContainer
4 minutos
play_circle_outline
Componente FormInputLabel
3 minutos
play_circle_outline
Componente FormInputError
1 minutos
play_circle_outline
Componente FormTextInput
4 minutos
play_circle_outline
Componente FormTextarea
3 minutos
play_circle_outline
Componente FormSubmitButton
2 minutos
play_circle_outline
Componente FormInputHint
2 minutos

play_circle_outline
Vista formulario grupos para crear y actualizar 100% dinámica
14 minutos
play_circle_outline
Refactorizar las acciones con componentes dinámicos
4 minutos

play_circle_outline
Política de acceso para Grupos
7 minutos
play_circle_outline
FormRequest para validar operaciones Upsert para Grupos
10 minutos
play_circle_outline
DTO para Grupos, centralizando la transferencia de datos
8 minutos
play_circle_outline
Acción para operaciones Upsert para Grupos
5 minutos
play_circle_outline
Aplicar la política de acceso de grupos en los métodos index y create
3 minutos
play_circle_outline
Procesar alta de grupos de forma completa desde el controlador
4 minutos
play_circle_outline
Mostrando el formulario de grupos en modo edición con Modelos de Vista
3 minutos
play_circle_outline
Procesar la edición de grupos
2 minutos
play_circle_outline
Acción para eliminar grupos
2 minutos
play_circle_outline
Procesar el borrado de grupos
3 minutos
description
¿Despedida?
N/A
Vídeo de introducción Laravel en Piezas: Componentes Modulares para un Diseño de Software Efectivo
play_circle_filled

Desbloquea el curso

starVer planes de suscripción
school

¿Qué aprenderás?

El diseño de software moderno requiere un enfoque que vaya más allá de simplemente hacer que las cosas funcionen. Necesitamos crear sistemas que sean mantenibles, escalables y fáciles de entender. Este curso nace de la necesidad de comprender cómo pequeñas piezas de software, cada una con una responsabilidad específica, pueden trabajar juntas para crear aplicaciones robustas y elegantes en Laravel.

Partiremos de una instalación limpia de Laravel, utilizando únicamente Breeze para el scaffolding de autenticación y Blade como motor de plantillas. Desde ahí, iremos construyendo y comprendiendo cada pieza del rompecabezas, viendo cómo cada una aporta valor y cómo, al trabajar juntas, crean un sistema cohesivo y bien diseñado.

¿Por qué este enfoque?

En el desarrollo de software, a menudo nos encontramos con aplicaciones que crecen de manera descontrolada, donde la lógica se mezcla en lugares inadecuados y el código se vuelve difícil de mantener. Al dividir nuestra aplicación en piezas pequeñas y específicas, cada una con una responsabilidad clara, podemos crear sistemas más fáciles de entender, probar y mantener.

Las Piezas del Sistema

ViewModels

Los ViewModels son clases especializadas que actúan como representantes de los datos que necesitan las vistas. Utilizando la API de Reflexión de PHP, podemos exponer de manera elegante solo los datos necesarios para una vista específica. Cada método público en un ViewModel se convierte automáticamente en una variable disponible en la vista, permitiéndonos centralizar la lógica de presentación y mantener nuestras vistas limpias y enfocadas en su única responsabilidad: mostrar datos.

Actions

Las Actions son clases que encapsulan operaciones específicas en nuestra aplicación. Cada Action tiene una única responsabilidad, como crear un usuario, procesar un pago o enviar un correo electrónico. Esta separación nos permite tener una mejor organización del código, facilita las pruebas unitarias y nos ayuda a mantener nuestros controladores simples y enfocados en su verdadera responsabilidad: coordinar el flujo de la aplicación.

Transformers

Los Transformers son piezas especializadas en convertir nuestros datos en estructuras optimizadas para su presentación. Similar a los API Resources de Laravel, pero diseñados específicamente para trabajar con datos que se mostrarán en nuestras vistas Blade. Nos permiten mantener una separación clara entre cómo almacenamos nuestros datos y cómo los presentamos.

Policies

Las Policies son nuestro sistema de defensa, encargadas de proteger nuestros recursos mediante reglas de autorización claras y específicas. Definimos quién puede hacer qué con cada recurso de nuestra aplicación, manteniendo nuestro código seguro y fácil de auditar.

Eloquent Builders

Los Eloquent Builders nos permiten extender las capacidades de consulta de Eloquent para modelos específicos. Al mover nuestras consultas complejas a clases dedicadas, mantenemos nuestros modelos limpios y reutilizamos fácilmente la lógica de consulta en toda nuestra aplicación.

DTOs (Data Transfer Objects)

Los DTOs actúan como mensajeros en nuestra aplicación, transportando datos entre diferentes capas de manera segura y predecible. Trabajan en conjunto con los Form Requests para validar y estructurar los datos antes de que lleguen a nuestras Actions, garantizando que siempre trabajemos con datos en el formato correcto.

Componentes Blade

Los componentes X de Blade nos permiten construir interfaces modulares y reutilizables. Al dividir nuestra interfaz en componentes pequeños y bien definidos, podemos mantener nuestro código frontend organizado y fácil de mantener, siguiendo los mismos principios de responsabilidad única que aplicamos en el backend.


Conclusión

Este curso está diseñado para desarrolladores que buscan mejorar la calidad de sus aplicaciones Laravel mediante el uso de componentes modulares bien diseñados. A través de ejemplos prácticos y casos de uso reales, aprenderás cómo cada pieza contribuye al conjunto y cómo, trabajando juntas, crean aplicaciones más robustas y mantenibles.

assignment

Requisitos

group

¿A quién va dirigido el curso?

Este curso está diseñado para desarrolladores que buscan mejorar la calidad de sus aplicaciones Laravel mediante el uso de componentes modulares bien diseñados.
help_outline

¿Qué hacer en caso de dudas durante el curso?

Los planes de suscripción trimestral y anual incluyen soporte a través del foro del curso.

Las dudas que se planteen en el foro del curso serán respondidas en un plazo máximo de 24 horas laborables.

Las dudas planteadas deben estar relacionadas con el contenido del curso y no con desarrollos personalizados que no estén relacionados con el curso.

card_membership

Certificado de finalización

emoji_events

Al completar todas las lecciones del curso, obtendrás un certificado de finalización en formato PDF personalizado con tu nombre y un código QR de verificación.

  • center_focus_weak Código QR con enlace al curso
  • picture_as_pdf Descargable en formato PDF
  • person Personalizado con tu nombre

star Disponible exclusivamente para suscriptores.

Especialista con +15 años de experiencia en desarrollo web Full Stack. Dominio avanzado en Laravel y Vue.js, creando aplicaciones modernas de alto rendimiento. Instructor profesional con 8 años compartiendo conocimiento a través de cursos especializados que han formado a cientos de desarrolladores.

Israel Parra

Desarrollador Full Stack & Formador

Valoraciones

5
star star star star star

10 valoraciones

star star star star star
star star star star star_border
star star star star_border star_border
star star star_border star_border star_border
star star_border star_border star_border star_border
Alan Ortega

hace 5 meses

Alan Ortega Util y practico
star star star star star
Un curso 10 de 10, me gusto todo sobretodo la logica para la creación de los componentes reutilizables.
Alejandro Jiménez

hace 8 meses

Alejandro Jiménez Excelente!
star star star star star
El curso ha sido de gran utilidad y me ha ayudado significativamente a mejorar la calidad del código en mis proyectos. Muchas gracias!
john

hace 9 meses

john Educativo
star star star star star
Me ha gustado la idea de desacoplar funcionalidades de la mano de los modulos junto con los tests unitarios y feature tests necesarios.
Estarian muy bien más cursos sobre el tema de testing.
porfy777

hace 1 año

porfy777 Exelente curso
star star star star star
Muy bueno y bien explicado
Juan Marcelo Hidalgo López

hace 1 año

Juan Marcelo Un curso excelente
star star star star star
Lo que mas me gusto fue los DTO's
Luciano

hace 1 año

Luciano Excelente
star star star star star
La verdad me encantó la arquitectura enseñada durante el curso, si bien se da una base bastante clara me gustaría que se siga adelante y ver sobre todo el tema de los pipeline para las actions y entender un poco más sobre dto's. Gracias!
Filemon

hace 1 año

Filemon Excelente
star star star star star
He estado explorando cursos de acuerd a lo que considero me hace falta fortalecer o me considero ignorante, este curso, ayuda a refatorizar muy bien el codigo, principalmente y bueno no se si se toca en otros de los cursos pero me gustaria saber como aplicar selects dependientes en las vistas de blade con el metodo dinamico, y ejemplos de como usar js o librerias js para hacer consultas asincronas, probablemente no se directamente laravel pero si es necesario saber como integrarlas en blade. En el ejemplo del index no se ha tocado de que manera poner una columna con el valor de un campo de una tabla relacionada ya sea has one o has many, y el uso de filtros para hacer busquedas sobre los registros del index. Por ahora no se me ocurre otra cosa mas que felicitarte por el excelente trabajo que haces ya que pase buscando material como el tuyo como guia para mis proyectos. Saludos
Aldo

hace 1 año

Aldo genial el curso
star star star star star
el curso es completo al desarrollar un modulo de crud que haya mas caso de crud
Pedro J.

hace 1 año

Pedro J. ¡OK!
star star star star star
Pues eso, espero que sigas actualizando este curso con lo que tengas planeado inicialmente para él pero, también, con todas las refactorizaciones posibles que se puedan aplicar.
Incluso, este proyecto podría ser la aplicación base en la que aplicar diversas técnicas futuras o no, trucos, etc, ... todo para mejorar la implementación del código de cara a su mantenimiento, escalabilidad y testing de la aplicación. A la espera de más. Saludos. PD: Una pena que no siga adelante :(
Cristian Sepúlveda Caro

hace 1 año

Cristian Sepúlveda EXCELENTE CURSO
star star star star star
Recomendable, una mirada distinta para crear componentes.
visibility Vista previa

star

¿Te gusta lo que ves? Accede a este curso completo y a más de 200 cursos con una suscripción.

launch Ver planes de suscripción