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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Analista programador web Full Stack
4 valoraciones
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
el curso es completo al desarrollar un modulo de crud que haya mas caso de crud
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.
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.