Laravel en Piezas: Componentes Modulares para un Diseño de Software Efectivo

Contenido del curso
Introducción keyboard_arrow_down
Vídeo de introducción Laravel en Piezas: Componentes Modulares para un Diseño de Software Efectivo
timer

Desbloquea el curso

Contrata un plan y consigue acceso completo o compra el curso por 40,00 € y accede a él para siempre

Crea tu cuenta

¿Ya tienes una cuenta? Inicia sesión

¿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.

Requisitos

¿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.

¿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.
Si compras o has comprado el curso, también puedes hacer uso del 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.

Cursos relacionados

Acerca del autor

Más de 12 años de experiencia en el desarrollo de aplicaciones web con amplia experiencia en desarrollo móvil utilizando PHP, Laravel, Vue.js, React, React Native y Serverless.

Israel Parra

Analista programador web Full Stack

Valoraciones

5
star star star star star

4 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
Filemon

hace 2 semanas

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 3 semanas

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 3 semanas

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.

Cristian Sepúlveda Caro

hace 1 mes

Cristian Sepúlveda - EXCELENTE CURSO
star star star star star

Recomendable, una mirada distinta para crear componentes.

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Términos y condiciones para afiliados Formulario de contacto

Copyright 2025 © Todos los derechos reservados.

Contacto