Este es el curso MÁS completo que encontrarás de Laravel, veremos de todo, desde aspectos básicos como las rutas, controladores, vistas, modelos, manejo de formularios, validaciones, entre otros hasta aspectos más completos como Rest Api con token de autenticación (y una app para consumir la misma desde Vue), manejo de cache, roles, Gates para los permisos, paquetes imprecindibles y mucho más, el detalle del curso lo puedes ver en la parte inferior de esta publicación y lo mejor, es que es una inversión para varios años ya que, de manera gratuita, mantendré el curso por varios años a las nuevas versiones y dando mayor soporte por Academia.
Tambien tengo recursos gratuitos para el Curso en el Blog
Es importante mencionar, que el curso tambien tiene el formato en libro con el 100% del contenido del mismo, es decir, el curso es equivalente al libro.
No tienes dinero y necesitas aprender con un curso TOTALMENTE Gratis y de la mejor calidad, pues, te tengo la solución; tambien dispongo de una versión LITE y gratis del curso de Laravel en Academia.
A continuación, cada uno de los capítulos del curso de manera resumida y ejemplificada:
Laravel es un framework fascinante, inmenso y con una curva de aprendizaje algo elevada si es el primer framework de este tipo al cual te vas a enfrentar.
Laravel nos ofrece varios esquemas para hacer lo mismo; una aplicación web; mediante un MVC que ya no lo es tanto debido a tan diversos caminos que puedes tomar; y por eso, el propósito de lo aquí escrito; para que tu camino para aprender este framework sea menos empinado y más fácil de seguir.
Laravel es un estupendo framework que puedes emplear para crear verdaderas aplicaciones reales y escalables en el tiempo; cuando inicies a trabajar con Laravel te darás cuenta de las enormes cantidades de componentes y funciones que cuenta el framework; lo que no forme parte oficial del framework, seguramente existe un paquete que te permita solventar dicho requerimiento; y, lo que no te permite realizar Laravel del lado del cliente, puedes emplear Node (y su enorme ecosistema), con cualquier paquete que trabaja del lado del cliente, por mencionar algunos:
Para trabajar también desde el lado del cliente; todo esto, en un mismo proyecto.
Veremos como comos crear controladores, componentes, vistas modelos, administrar la base de datos mediante las migraciones, crear aplicaciones reales, rest apis, generar datos de pruebas, entre otros aspectos fascinantes del framework e inclusive interconectar proyectos en Laravel con Vue en su versión 3.
En definitiva, tendrás un enorme material a tu disposición, para hacer verdaderas aplicaciones.
Este curso está dirigido a cualquiera que quiera comenzar a desarrollar con Laravel, aunque no se recomienda a aquellas personas que no hayan trabajado con otros frameworks PHP, si es tu caso, te aconsejo, que primero conozcas y practiques con frameworks similares, pero más sencillos, como es el caso de CodeIgniter 4, del cual dispongo de muchos recursos que pueden servirte para introducirte en este mundo de frameworks PHP, en mi sitio web encontrarás más información.
Laravel es un framework avanzado, aunque en el libro hago todo lo posible para mantener el desarrollo sencillo, recuerda puedes practicar con frameworks similares, como el de CodeIgniter, del cual también cuento con un libro y un curso; que es ideal para conocer un framework para dar los primeros pasos con este tipo de tecnologías, ya que Laravel, tiende a tener una curva de aprendizaje más elevada al tener más componentes y más abstracción al emplear los mismos.
Para aquellos que quieran conocer el framework y que conozcan otros frameworks similares en PHP, pero no tienen los conocimientos necesarios para aventurarse en estos por no conocer las bases que los sustentan.
Para aquellas personas que quieran aprender algo nuevo, conocer sobre un framework que, aunque tiene mucha documentación, la mayoría está en inglés y al estar el framework en constante evolución, tiende a quedar desactualizada.
Para las personas que quieran mejorar una habilidad en el desarrollo web, que quiera crecer como desarrollador y que quiera seguir escalando su camino con otros frameworks superiores a este; con que te identifiques al menos con alguno de los puntos señalados anteriormente, este curso es para ti.
Como bien sabrás si ya has tomados otros de mis cursos de pago, siempre creo una temática a lo largo del curso, y el de este curso es el de un Blog; de tal manera que para la creación de un Blog sencillo vamos a necesitar tres módulos:
En Laravel, se pueden hacer muchas cosas como construir aplicaciones web de todo tipo; laravel es un framework inmenso, gratuito y que permite crear proyectos pequeños hasta proyectos de gran tamano; entre las características que veremos en el curso tenemos: interactuar con bases de datos, utilizar middlewares, levantar servidores, comunicar con la base de datos, interconectar sistemas e integrar con otras tecnologías como Vue; algunas de las características más importantes que se pueden encontrar en Laravel son:
En el curso vamos a conocer el framework desde cero, hasta muchos detalles particulares de Laravel; es un curso de básico a intermedio en el cual veremos en pocas palabras:
Todas estas características y muchas más, las veremos en esta guía.
Laravel es un popular framework de PHP que simplifica el desarrollo de aplicaciones web. como vimos antes, tiene un enorme potencial y características en general.
Vue es una biblioteca JavaScript para construir interfaces de usuario interactivas. Puede utilizarse junto con Laravel para construir aplicaciones web más dinámicas.
Ambas tecnologías se pueden trabajar en conjunto y en este curso hacemos los pasos para integrar ambas tecnologías:
Hay varias razones por las cuales aprender Laravel puede ser beneficioso para ti:
Productividad: Laravel es una herramienta muy potente y el framework PHP por excelencia; permite desarrollar aplicaciones web de una manera rápida y efectiva; lo mejor de todo es que, tiene complementos y funcionalidades por todas partes y siempre tendras un proyecto escalable.
Documentación: Laravel cuenta con una excelente documentación oficial, facil de seguir, con muchos ejemplos y bastante excensa; por lo tanto, cualquier duda que tengas sobre alguna libería, helper o funcionalidad en general, lo puedes buscar en la documentación oficial.
Comunidad: Laravel tiene una gran comunidad de desarrolladores que lo usan y contribuyen al proyecto; no solamente de documentación oficial se vive, en Internet, encontrarás una inmensa cantidad de información sobre como hacer distintos desarrollos en Laravel; este curso, libro y blog es una evidencia de lo comentado anteriormente.
Ecosistema: Laravel tiene un ecosistema extremadamente grande en el cual se hace mención tanto a todo lo que incorpora el framework apenas creando un proyecto y tambien de paquetes que tenemos a nuestra disposición.
Empleabilidad: Laravel es un popular framework en la industria; por lo tanto, si eres desarrollador web, seguramente tendrás oportundiades de empleo ya que, PHP aun es el lenguaje de programación más empleado para desarrollar webs y Laravel el framework por excelencia para PHP.
En resumen, Laravel es un framework extremadamente popular y productivo; si logras dominar el framework, seguramente se hará mucho más facil conseguir ese empleo soñado o ese proyecto que quieres llevar a cabo y este curso y libro esta listo para tí para ayudarte a alcanzar este objetivo.
- La versión de Udemy (la antigua) contiene las versiones antiguas y nuevas del curso; en Academia estan son las nuevas partes con Laravel 11
- Este curso fue actualizado a Laravel 11; que a la fecha, es la última versión de Laravel; la cual incorpora importantes cambios en la definición de migraciones, manejo del login, ruteo; entre otros cambios que ha tenido Laravel desde la versión 5.
- Puedes estar seguro que tengo un compromiso con todos mis cursos los cuales en la medida de lo posible siempre intento mantener al día; y con Laravel es un caso especial debido a su evolución constante.
Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso:
Vamos a hablar sobre el software necesario para instalar, que es el navegador y el editor.
Vamos a hablar sobre el ambiente de desarrollo para Windows.
Vamos a hablar sobre el ambiente de desarrollo para MacOS y Windows.
Ambiente de desarrollo para MacOS y Linux: Composer y Laravel Sail
Vamos a crear un proyecto en Laravel mediante el instalador y composer.
Vamos a crear un proyecto en Laravel mediante el instalador y composer.
Crear un proyecto en Laravel en MacOS mediante Sail
Vamos a conocer de manera básica la estructura de las carpetas.
Vamos a reparar un error al momento de crear un proyecto en Laravel.
Vamos a ejecutar las migraciones del proyecto.
Vamos a conocer algunos archivos y configuraciones claves del proyecto.
Vamos a presentar el uso de las rutas y las características principales.
Vamos a conocer el esquema MVC.
Vamos a conocer como configurar MySQL en el proyecto.
Configurar la base de datos MySQL: Mac o Linux con Sail y Docker
Vamos a dar una introducción a la línea de comandos llamada artisan.
Vas a crear dos rutas con un nombre y vistas asociadas.
Vamos a aprender a redireccionar a otra ruta.
Vamos a conocer las directivas principales en blade.
Vamos a conocer como crear una vista maestra para poder reutilizarla en otros templates.
Vamos a conocer la importancia de los controladores, crear uno y su funcionamiento.
Vamos a conocer las rutas de tipo recurso o CRUD.
Vamos a aprender a emplear los parámetros en las rutas.
Vamos a compactar el pase de parámetros.
Vamos a introducir la importancia de las migraciones y para qué sirven.
Vamos a crear la migración para las categorías y ejecutarla.
Vas a crear la migración para los posts y ejecutarla.
Vamos a crear un controlador de tipo CRUD con su modelo.
Vamos a crear un registro.
Vamos a actualizar un registro.
Vamos a eliminar un registro.
Vamos a hablar sobre los tipos de retorno de los controladores.
Vamos a hablar de las relaciones foráneas y crear las mismas desde los modelos.
Vamos a crear el formulario para crear un post.
Vamos a terminar la implementación del controlador de crear.
Vamos a aprender a proteger la vista del ataque CSRF.
Vamos a aprender a crear el recurso.
Vamos a conocer el primer esquema de aplicar validaciones.
Vamos a conocer el segundo esquema de aplicar validaciones.
Vamos a conocer el tercer esquema de aplicar validaciones.
Mostrar errores de validación.
Vamos a colocar el slug que sea único.
Vamos a crear un fragmento de vista para mostrar los errores del formulario.
Vamos a crear la página de listado.
Vamos a agregar el componente de paginación.
Vamos a crear las opciones para el CRUD.
Vas a crear el proceso para editar copiando el de creación.
Vamos a crear un fragmento de vista para los campos de formulario.
Vamos a aprender a mostrar los errores anteriores en el formulario.
Vamos a aprender a cargar archivos o imágenes.
Vamos a implementar la carga de archivos.
Vamos a crear el proceso crud para el detalle de la vista
Vamos a hacer el CRUD para las categorías.
Vamos a presentar tonker como consola interactiva.
Vamos a crear el agrupado de nuestras rutas.
Vamos a aprender el uso del mensaje tipo flash que solamente duran un request.
Vamos a presentar el uso de la sesión.
Vamos a presentar que nos ofrece Laravel Breeze, que es instalar un sistema simple de autenticación e instalación de tailwind.css y alpine.js.
Vamos a instalar breeze y configurar el proyecto mediante artisan.
Vamos a explorar el contenido generado por breeze.
Vamos a configurar el layout con el estilo y css y js de la aplicación.
Vamos a crear el estilo para las tablas.
Vamos a crear el estilo para los formularios.
Vamos a crear el estilo para el container.
Vamos a crear el estilo para los botones.
Vamos a crear el estilo para un contenedor de cartas.
Vamos a crear el estilo para el alert.
Vamos a aplicar y crear varios estilos, en su mayoría, estilos para aplicar margin.
Vamos a crear los enlaces de navegación para los posts y categorías.
Vamos a mostrar como es la estructura de un proyecto en Laravel Breeze seleccionado la opción de Vue.
Vamos a hablar sobre un esquema sencillo que tenemos para manejar los roles al usuario.
Vamos a crear una migración para el rol del usuario y aplicarla a la base de datos.
Vamos a crear el middleware para proteger por rol.
Vamos a probar el middleware del rol creado anteriormente.
Conoceremos el método para ver el SQL generado.
Vamos a conocer como hacer joins.
Vamos a conocer como hacer ordenaciones.
Vamos a conocer como usar las consultas wheres con un array.
Vamos a conocer como hacer wheres anidados
Vamos a conocer como obtener un solo registro.
Vamos a conocer como limitar la cantidad de registros.
Vamos a conocer cómo obtener registros de manera aleatoria.
Vamos a hablar de los componentes, comparación con los controladores y estructura base.
Vamos a crear el primer componente para un listado de publicaciones.
Vamos a crear el layout para el módulo web.
Vamos a crear la estructura para el listado.
Vamos a crear la estructura para el detalle.
Vamos a presentar el uso de los slots por defecto.
Vamos a presentar el uso de los slots con nombre.
Vamos a presentar el uso de los slots con nombre en una sola línea.
Vamos a presentar el uso de los componentes con clases.
Vamos a ver cómo podemos emplear los métodos desde los componentes desde la vista.
Vamos a conocer como pasar parametros en los componentes.
Vamos a conocer cómo mezclar atributos.
Vamos a conocer cómo mezclar por la clase.
Vamos a conocer el uso de los props.
Vamos a conocer alumnos métodos para obtener los atributos y filtrar.
Vamos a conocer cómo emplear la función de flecha junto con una función para filtrar por atributos.
Vamos a conocer como renderizar componentes de manera dinámica empleando un componente especial.
Vamos a conocer cómo ocultar atributos o métodos del componente.
Vamos a generar data de prueba para las categorías mediante los seeders.
Vamos a generar data de prueba para los posts mediante los seeders.
Vamos a registrar los seeders anteriores en una clase para poder ejecutar ambos con un solo comando.
Vamos a generar data de prueba mediante los factories y empleando el componente fake.
Vamos a publicar el archivo de api para publicar la API Rest.
Vamos a crear los controladores, rutas y recursos de ejemplo.
Vamos a crear la API CRUD para las categorías.
Vas a crear la API CRUD para los posts.
Vamos a probar los métodos CRUD de la API de la categoría.
Vamos a crear un método personalizado para traer todas las categorías.
Vamos a crear un método personalizado para traer la categoría por el slug.
Vamos a aprender a manejar la excepción de que no encuentra el registro y devolver una respuesta JSON.
Vamos a instalar Vue en el proyecto en Laravel y hacer las configuraciones necesarias.
Vamos a crear el hola mundo.
Vamos a instalar Oruga Ui y la hoja de estilo.
Vamos a exponer axios para poder emplearlo para hacer peticiones HTTP.
Vamos a crear el primer componente que es un listado de publicaciones en una tabla de Oruga.
Vamos a conocer como podemos obtener la relación de categorías desde el listado.
Vamos a instalar una iconografía.
Vamos a crear el componente de paginación.
Vamos a presentar Vue Router e instalarlo.
Vamos a crear el sistema de ruteos
Vamos a crear los enlaces de navegación para crear y editar.
Vamos a crear la estructura base para el componente de Save.
Vamos a crear los v-model y petición axios para crear un post.
Vamos a crear las validaciones para las publicaciones.
Vamos a modificar el componente de Save para que pueda editar.
Vamos a crear el proceso de eliminar.
Vamos a crear una ruta especial en Laravel para que la app en Vue no de 404 al momento de recargar la página.
Vamos a instalar Tailwind.css en el proyecto.
Vamos a emplear los container para nuestro contenido.
Vamos a aplicar estilos en el componente de listado.
Vamos a aplicar estilos en el componente de guardado.
Vamos a crear el modal de confirmación al momento de eliminar el registro.
Vamos a mostrar el mensaje de confirmación realizada.
Vamos a crear el controlador de upload.
Vamos a crear el componente de upload de vue.
Vamos a hablar un poco sobre la atributo tag definida anteriormente.
Vamos a mostrar los errores del formulario.
Vamos a conocer como realizar el Drag an Drop para la carga de archivos.
Vamos a borrar los archivos de cargas anteriores.
Vamos a apilar todas las rutas en una sola variable global a la aplicación.
Vamos a realizar las modificaciones necesarias para habilitar la autenticación vía SPA.
Vamos a crear un método para autenticar a un usuario.
Vamos a crear un usuario de ejemplo para realizar las pruebas.
Vamos a realizar algunas pruebas con el controlador de login y hacer los cambios correspondientes.
Vamos a crear un método axios para realizar el login.
Vamos a proteger algunas rutas y conocer el comportamiento cuando estamos autenticados y cuando no.
Vamos a crear un componente para el login.
Vamos a colocar los códigos de estados correspondientes para cuando hay errores al momento de hacer el login.
Vamos a mostrar los datos de error cuando el login es incorrecto.
Vamos a dar un resumen de lo que hemos hecho hasta ahora.
Vamos a realizar algunas configuraciones básicas para poder emplear la autenticación por tokens.
Vamos a crear el controlador para crear el tokens.
Vamos a ver un ejemplo de consumir un recurso protegido con el token.
Vamos a establecer el token en la sesión en un objeto de JavaScript.
Vamos a consumir el objeto global de JavaScript en donde se encuentra la data del usuario autenticado desde el componente App de Vue.
Vamos a redireccionar a otra página al momento del login y al intentar ingresar a la página si el usuario está autenticado.
Vamos a probar el token de autenticación para consumir un recurso protegido.
Vamos a implementar el cerrar sesión destruyendo la sesión y haciendo las implementaciones desde Vue.
Vamos a ver una demostración de cómo cerrar destruir el token de autenticación.
Vamos a configurar un plugin para la cookie y registrar datos de usuario.
Vamos a combinar los esquemas para consultar los datos del usuario de la SPA de Sanctum con la cookie.
Vamos a presentar el esquema que vamos a seguir para verificar el token.
Vamos a realizar la implementación para verificar el token.
Vamos a proteger las rutas de acceso de vue con autenticación requerida.
Vamos a agregar las cabeceras con el token en las peticiones axios necesarias y ver otro esquema para borrar el token.
Vamos a crear un mejor diseño para el componente de Login.
Vamos a crear un contenedor para los componentes CRUD.
Vamos a crear la estructura para el navbar.
Vamos a crear los enlaces de navegación.
Vamos a implementar el diseño para el logo.
Vamos a implementar un diseño para el avatar.
Cambios finales en la app de Vue.
Vamos a crear un diseño para la carta para las pantallas del CRUD.
Vamos a bloquear el botón de submit al momento de enviar la petición para evitar hacer múltiples peticiones.
Vamos a conocer los métodos más importantes en el uso de la caché.
Vamos a hacer el primer ejemplo sobre la cache, cachear los posts.
Vamos a realizar el ejercicio anterior empleando el método de rememberForever.
Vamos a evitar hacer operaciones en la base de datos cada vez que se accede al método de show.
Vamos a ver un ejemplo para emplear la caché en la Rest Api.
Vamos a presentar el uso de la caché de las rutas.
Vamos a presentar el uso de la caché de las rutas.
Vamos a ver la configuración para cambiar de store para la cache.
Vamos a crear la migración para la nueva columna de usuarios para los posts.
Vamos a modificar los archivos relacionados de los posts para agregar el nuevo cambio.
Vamos a dar una presentación a los gate para entender su funcionamiento y estructura.
Vamos a crear el primer gate para proteger el proceso de edición de los posts.
Vamos a conocer las políticas, su estructura y uso.
Vamos a crear y emplear la primera política.
Vamos a personalizar la respuesta de las políticas.
Vamos a modificar el controlador de post para que podamos crear uno y asignarle el usuario.
Vamos a conocer algunos métodos importantes para evaluar los gates.
Vamos a conocer un método para ejecutar algunas condiciones antes de evaluar la política.
Vamos a instalar y configurar spatie.
Vamos a crear un seeder para manejar los roles y permisos de ejemplo.
Vamos a asignar roles dado el permiso.
Vamos a asignar permisos dado el rol.
Vamos a conocer algunos métodos principales para consultar los permisos y roles desde un usuario.
Vamos a crear el CRUD para los roles.
Vamos a crear el CRUD para los permisos.
Vamos a crear un componente para administrar los permisos a un rol asignado.
Vamos a crear un formulario para asignar permisos a un rol.
Vamos a instalar axios en el proyecto.
Vamos a realizar la implementación para agregar un rol mediante JS.
Vamos a verificar el tipo de petición en el componente para devolver una respuesta acorde.
Vamos a agregar un LI al listado mediante JS.
Vamos a remover un permiso de listado mediante un formulario.
Vamos a remover un permiso del listado mediante JS.
Vamos a eliminar el permiso de listado.
Vamos evitar procesar permisos repetidos a un rol.
Vamos a realizar la primera parte del crud para los usuarios, el controlador y validaciones.
Vamos a realizar la segunda parte del crud para los usuarios, las vistas y el mutator.
Vamos a utilizar el factory para generar algunos usuarios de prueba.
Vamos a generar el listado de roles en un componente aparte.
Vamos a generar el listado de roles del usuario.
Vamos a realizar el proceso para asignar roles al usuario.
Vamos a remover roles de un usuario.
Vamos a mostrar un listado de permisos del usuario.
Vamos a asignar permisos directamente al usuario.
Vamos a asignar remover directamente al usuario.
Vamos a ver una demostración de cómo funciona la verificación de permisos y roles a un usuario.
Vamos a implementar la verificación de permisos en el crud de los posts.
Vamos a implementar la verificación de permisos en el crud de las categorías.
Vamos a implementar la verificación de permisos en las vistas de los posts y categorías.
Vamos a implementar la verificación de permisos en el crud de los usuarios.
Vamos a hacer algunos cambios en las políticas de los posts y middleware.
Vamos a realizar las verificaciones para los roles y permisos.
Vamos a realizar algunos cambios para evitar colocar dobles comparaciones en el crud de usuarios.
Vamos a crear verificaciones en los enlaces de navegación.
Vamos a trabajar en el diseño.
Vamos a conocer la relación de tipo uno a uno en el cual, un usuario tiene un solo perfil y viceversa.
Vamos a recordar el tipo de relación de tipo uno a muchos usando la relación de post y categorías.
Crearemos la estructura para la relación de muchos a muchos entre posts y etiquetas.
Vamos a conocer como realizar pruebas con la relación de tipo muchos a muchos.
Vamos a presentar las relaciones de tipo polimorfismo y compararla con la relación anterior.
Vamos a crear la estructura para las relaciones polimórficas que sería su migración y relación en los modelos.
Vamos a conocer las operaciones de gestión para las relaciones polimórficas de muchos a muchos, que son las mismas que las usadas en los muchos a muchos.
Vas a crear el CRUD para las etiquetas
Vamos a crear el proceso para seleccionar etiquetas de las publicaciones.
Código fuente del capitulo: https://github.com/libredesarrollo/book-course-laravel-base-11/releases/tag/v0.11
Voy a hablarte sobre las configuraciones, variables de entorno en el .env, recomendaciones e implementaciones.
Vamos a realizar algunos ejemplos de cómo emplear las variables de entorno y configuraciones mediante funciones de ayuda.
Vamos a dar una introducción al logging.
Vamos a dar un ejemplo del uso de los logs y generar un formateador personalizado.
Vamos a conocer como crear la paginación personalizada en formato simple y completo.
Vamos a hablar sobre los elementos básicos para enviar emails en Laravel.
Vamos a implementar un envío de correos.
Vamos a conocer que son los helpers personalizados y cómo emplearlos y crear uno.
Vamos a conocer los arrays vitaminados de Laravel.
Vamos a conocer como realizar operaciones transaccionales a la base de datos con Laravel.
Vamos a hablar sobre los métodos para obtener los datos relacionados.
Vamos a hablar sobre la técnica aplicada por defecto que solamente obtiene los datos relacionados cuando se solicitan.
Vamos a hablar sobre la técnica que obtiene los datos relacionados desde la petición principal.
Vamos a ver un ejemplo entre la categoría y el post y los métodos para obtener los datos relacionados.
Veremos cómo podemos implementar el set y get de los modelos en Laravel.
Vamos a realizar una presentación para conocer cómo emplear la localización y traducciones en Laravel.
Vamos a crear unos strings de traducción y emplearlos.
Vamos a crear unos textos de ejemplo traducidos de la app.
Vamos a traducir los mensajes del framework.
Vamos a conocer cómo cambiar el idioma en base a preferencias de usuario.
Vamos a crear un middleware para verificar el idioma del usuario y establecer en ingles/español.
Vamos a conocer cómo emplear atributos en las traducciones.
Vamos a conocer cómo colocar textos en mayúsculas en los atributos.
Vamos a conocer cómo podemos agregar atributos en el script y link del decorador con @vite.
Vamos a comentar como puedes crear un método para remover de la url la carpeta public o index.php
Presentaremos de manera teórica las colas y trabajos.
Vamos a presentar las colas mediante un ejemplo en Paint.
Vamos a crear el primer trabajo de ejemplo.
Vamos a procesar la cola y ver su funcionamiento.
Vamos a crear un trabajo para enviar un email
Vamos a conocer algunas opciones y ver como manejar trabajos fallidos.
Veremos varios ejemplos de cuando el driver no está configurado, uso de redis entre otros.
Vamos a instalar redis en Laragon
Vamos a crear el proceso para escalar una imagen.
Vamos a implementar un job en base a la implementación anterior.
Vamos a hablar sobre los atributos de las clases jobs.
Vamos a dar una presentación para el manejo de las excepciones.
Vamos a conocer como renderizar errores en base a respuestas json o vistas.
Vamos a ver un ejemplo de cómo podemos capturar la excepción desde la respuesta.
Vamos a aprender a crear páginas para mostrar los errores 40X y 50X.
Vamos a hablar sobre los aspectos claves a tener en cuenta para subir nuestra app a producción, Apache, requisitos, variables de entorno y Node, npm run build.
Vamos a hablar sobre subir la app mediante FTP.
Vamos a hablar sobre el resto de las configuraciones que debes de hacer.
Veremos cómo crear excepciones personalizadas.
Vamos a conocer cómo limitar las peticiones del cliente.
Vamos a conocer como generar QRs en Laravel. https://www.desarrollolibre.net/blog/php/instalar-php-imagick-en-windows-macos-con-laragon-y-laravel-herd
Vamos a dar una introducción a Laravel Excel.
Vamos a conocer unos paquetes para generar etiquetas para el SEO.
Vamos a instalar y emplear la barra de debug de Laravel.
Vamos a presentar el entorno de desarrollo de PayPal.
Vamos a obtener las claves de acceso del sitio web.
Vamos a implementar la página en el cliente para mostrar los botones de paypal.
Vamos a crear la orden en PayPal.
PayPal: Implementar un sencillo sistema de pagos en el servidor, Recibir orden
Vamos a generar el token de acceso para poder procesar la orden.
Vamos a completar la orden en el servidor.
Vamos a hablar sobre los siguientes pasos que quedan pendiente, modo producción, ver las peticiones realizadas en paypal y el siguiente paso para procesar la orden.
Vamos a aprender a detectar la navegación móvil.
Vamos a conocer algunas características básicas de Fortify para entender su funcionamiento.
Vamos a hablar sobre el uso de las pruebas.
Vamos a crear una sencilla prueba de ejemplo.
Vamos a crear unas pruebas para operaciones matemáticas.
Vamos a dar un resumen de lo realizado y los próximos pasos.
Vamos a crear la primera prueba para obtener todas las categorías.
Vamos a configurar la base de datos para el testing y en memoria.
Vamos a implementar la prueba para crear una categoría.
Vamos a ver una demostración con las pruebas implementadas, indicando que vamos a emplear la misma base de datos para el desarrollo.
Vamos a mostrar cómo validar la salida de datos de la prueba anterior.
Vamos a crear la prueba para el detalle y slug de la categoría.
Vamos a implementar la prueba para editar.
Vamos a realizar la prueba para eliminar una categoría.
Vamos a probar un error de validación.
Voy a dar un ejemplo del método de assertContains.
Vamos a crear una prueba para verificar la validación por el slug que sea requerido.
Vamos a crear una prueba para verificar la validación por el slug que sea único.
Vamos a crear una prueba para verificar la validación por el slug que sea único.
Vamos a crear la primera prueba para obtener todas los posts.
Vamos a implementar la prueba para crear un post.
Vamos a implementar la prueba para editar.
Vamos a realizar la prueba para eliminar una categoría.
Vamos a probar un error de validación.
Vamos a crear una prueba para verificar la validación por el slug que sea requerido.
Vamos a crear una prueba para verificar una imagen pasandole datos inválidos
Vamos a crear una prueba para verificar la validación por el slug que sea único.
Vamos a crear una prueba para verificar la validación por el slug que sea único.
Vamos a crear la prueba de detalle del post.
Vamos a generar el token de usuario mediante el recurso de login.
Vamos a implementar el logout haciendo antes el llamado a la api para el login y luego destruir el mismo sin pasarle el token y mediante la sesión de sanctum.
Vamos a implementar el logout generando el token en la prueba y luego destruir el mismo sin pasarle el token y mediante la sesión de sanctum.
Vamos a realizar la prueba para probar el token.
Vamos a crear una prueba pasando credenciales incorrectas.
Vamos a realizar una prueba para cuando el token es invalido.
Vamos a consumir recursos protegidos por autenticación.
Vamos a definir un método en la clase TestCase para generar el token. Codigo https://github.com/libredesarrollo/book-course-laravel-base-api-11/releases/tag/v0.4
Vamos a realizar varios cambios para empezar a trabajar con las pruebas en el módulo web.
Vamos a crear la prueba para probar el GET del login.
Vamos a hablar sobre un doble hash del password.
Vamos a realizar la petición de tipo post para hacer el login.
Vamos a fusionar la prueba para el login GET y POST.
Vamos a crear la prueba para el login invalido.
Vamos a realizar la prueba de get y post para registrar.
Vamos a crear una prueba para verificar el login incorrecto.
Vamos a crear una prueba para un listado paginado de los posts.
Vamos a presentar un poco más formalmente la técnica de TDD y unos ejemplos.
Vamos a crear una prueba para la página de detalle.
Vamos a evaluar la prueba de detalle con respuesta de una caché.
Vamos a crear la prueba para el listado de post.
Vamos a crear la prueba para obtener el formulario, el get.
Vamos a conocer un método para inicializar parámetros antes de ejecutar la prueba y crear un usuario y autenticarlo.
Vamos a crear el rol y los permisos de administrador para poder ejecutar las pruebas.
Vamos a crear la prueba para crear una publicación.
Vamos a crear la prueba para verificar un post inválido, por la regla de required.
Vamos a crear la prueba para editar una publicación.
Vamos a crear la prueba para editar una publicación con el put.
Vamos a crear la prueba para verificar un put inválido, por la regla de required.
Vamos a crear las pruebas para las categorías.
Vamos a crear las pruebas para los roles.
Vamos a crear las pruebas para los permisos.
Vamos a crear las pruebas para los usuarios.
Vamos a implementar la prueba para eliminar.
Vamos a crear algunas reglas para verificar datos invalidos del usuario.
Vamos a presentar pest como el otro framework para las pruebas.
Prueba para obtener todas las categorías.
Crearemos la estructura para generar el token auth.
Demo para ver qué pasa si no suministras el archivo de Pest.php
Vamos a implementar la prueba para crear una categoría.
Te muestro las pruebas para las categorías.
Vamos a traducir las pruebas para los posts de PHPUnit a Pest.
Vas a ver la prueba pest que hice para las categorías.
Vamos a crear la prueba pest para los post.
Breve resumen del resto de las pruebas definidas y consideraciones finales. Puedes consultar el resto de las pruebas que son equivalentes a la de Pest en: https://github.com/libredesarrollo/book-course-laravel-base-11/releases/tag/v0.12 https://github.com/libredesarrollo/book-course-laravel-base-api-11/releases/tag/v0.4
Vamos a crear un proyecto Laravel Inertia en entorno Windows (MacOS).
Vamos a presentar que es lo que tenemos en detalle, el proyecto, sus características y cómo funciona.
Daremos una presentación al funcionamiento y uso de las rutas.
Vamos a crear los modelos y controladores que usaremos a lo largo de las secciones.
Vamos a crear el primer formulario.
Vamos a crear la categoría en la base de datos
Vamos a crear la categoría en la base de datos
Vamos a realizar validaciones sobre el formulario.
Vamos a configurar el layout de la aplicación.
Vamos a reutilizar componentes existentes para mejorar el diseño de la aplicación.
Últimos detalles del formulario, grid y padding.
Vamos a terminar la implementación.
Vamos a crear el apartado de edición.
Vamos a actualizar un registro en la base de datos desde Laravel.
Vamos a generar el slug desde de validación.
Vamos a crear un listado inicial de registros.
Vamos a crear enlaces para crear y editar.
Vamos a crear un listado paginado.
Vamos a crear un componente de paginación personalizado.
Vamos a conocer el funcionamiento de la barra de progreso.
Vamos a tratar varios temas que quedaron pendientes.
Vamos a crear un contenedor para la aplicación.
Crearemos el componente típico de carta.
Vamos a mejorar el diseño de los enlaces del listado
Componente de paginación y botones de acción.
Vamos a realizar el proceso de eliminar el registro desde el listado.
Vamos a cambiar de un enlace a un botón en el enlace de eliminar.
https github com libredesarrollo book course laravel inertia releases tag v0 1
Vamos a conocer cómo emplear las redirecciones junto con Inertia.
Vamos a crear un mensaje flash para mostrar en inertia.
Vamos a colocar un bloque de transition para los mensajes flash.
Puedes consultar el código fuente en: https://github.com/libredesarrollo/book-course-laravel-inertia/releases/tag/v0.2
Vamos a replicar el esquema existente para crear categorías, para los post.
Vamos a terminar el proceso de creación.
Vamos a obtener el listado de post.
Vamos a terminar el proceso de edición.
Vamos a fusionar el proceso de editar y crear en un solo componente de vista.
Vamos a ver el esquema por defecto al momento de hacer un upload.
Vamos a combinar el upload con la carga de archivos.
Vamos a adaptar el formulario de upload para crear y editar.
Vamos a definir las configuraciones para usar Oruga UI en el proyecto.
Vamos a conocer cómo extender Inertia con otros frameworks.
Vamos a conocer el proceso de upload.
Vamos a mostrar la imagen cargada.
Vamos a crear una función de upload.
Vamos a mostrar el proceso de descarga.
Puedes consultar el código fuente en: https://github.com/libredesarrollo/book-course-laravel-inertia/releases/tag/v0.4
Vamos a crear un proyecto Laravel Livewire en entorno Windows (MacOS).
Vamos a presentar que es lo que tenemos en detalle, el proyecto, sus características y cómo funciona.
Trabajaremos en el apartado de actualizar un registro existente.
Vamos a crear un componente de listado.
Vamos a adaptar la paginación.
Vamos a eliminar una categoría mediante un botón.
Vamos a crear un diálogo de confirmación para eliminar.
Vamos a mostrar un componente para mostrar información sobre las operaciones CRUDs.
Vamos a hacer el upload de una imagen.
Vamos a mostrar la imagen por pantalla cargada.
Código fuente del capítulo: https://github.com/libredesarrollo/book-course-laravel-livewire/releases/tag/v0.1
Vamos a crear las migraciones para el proyecto.
Vamos a crear los modelos.
Vamos a crear los componentes iniciales.
Vamos a crear las rutas para las categorías.
Veremos como solucionar el error anterior en caso de que te ocurra.
Vamos a crear el proceso para crear una categoría.
Vamos a presentar otros atributos que tenemos disponibles.
Vamos a realizar validaciones del lado del servidor y mostrar las mismas en la vista.
Vamos a mostrar los errores de formulario.
Vamos a realizar algunas pruebas para entender cómo Livewire mantiene actualizado su estado.
Explicaremos el ciclo de vida de los componentes de Livewire.
Vamos a presentar el uso de componentes para reutilizar en nuestro propios componentes.t
Vamos a adaptar el diseño del formulario con el componente de Livewire.<br />
Vamos a crear un componente de carta.
Vamos a definir el header para el layout.
Vamos a crear un contenedor.
Vamos a trabajar en un componente de alerta.
Vamos a hacer un box para los diálogos de confirmación.
Vamos a colocar la opción para el menú.
Vamos a colocar la opción para el menú.
Vamos a crear el menú para los CRUD de tipo Dropdown.
Vamos a mover el menú anterior del lado izquierdo al derecho del navbar.
Vamos a crear la opción para crear el enlace para la categoría.
Código fuente del capítulo: https://github.com/libredesarrollo/book-course-laravel-livewire/releases/tag/v0.2
Te muestro una anecdota sobre un desarrollo en el cual empleo cache y condicionales en blade
Veremos un ejemplo de como podemos emplear las relaciones polimorficas 1 a muchos opcionales junto con los leftjoin y los closures Publicaciones https www desarrollolibre net blog laravel curso laravel si no sabes como emplear el leftjoin relaciones polimorficas opcionales 1 n
Te mostrar un ejemplo de un componente de pago que cre en Vue que permite gestionar los pagos por PayPal para los packs cursos y libros adem s de manejar varios casos como logr la reutilizaci n y modularizaci n
Te hablare de cual carpeta tienes que emplear para cuando quieres subir y permitir descargas de archivos que son protegidos y para acceder a la misma quieres realizar alguna l gica como una compra
Te muestro como implemento un filtro multiple para una aplicacion realizada en Vue y Laravel
Te doy MIS motivos de cuando debes de emplear una Rest API o Laravel Inertia y adicionalmente comento la importancia de conocer como funciona la herramienta Inertia para poder aprovecharla y evitar confusiones implementando hibridos Inertia Rest API
Te dar mis razones por las cuales considero que Laravel NO es un framework f cil de aprender y tiene una curva de aprendizaje algo elevada
Te hablo sobre el uso del instanceof de PHP para emplearlo junto con las relaciones polimórficas en Laravel.
Te voy a mostar un esquema para manejar preferencias de usuario como el autoplay idioma o darkmode en Laravel mediante un campo
Hablaremos sobre la importancia de obtimizar consultas en Laravel
Te muestro un paquete con el cual podras modificar la tipograf a de tu web con Tailwind
Hablaremos sobre como puedes agrupar tus rutas en dominios y como puedes agrupar para reutilizar rutas en funciones
Te mostrar como organizo mis archivos CSS dependiendo de la cantidad de m dulos y CSS compartido entre varios m dulos
Te mostrar un ejemplo de como puedes emplear JavaScript nativo con selectores y funciones internas junto con Vue
Veremos como crear eventos de teclados personalizados para CKEditor
Vamos a aprender a instalar el ecosistema para desarrollar en Laravel, este excelente software nos trae todo lo que necesitamos desde un simple instalador.
Conoceremos como preparar el ecosistema en Mac con Sail y Docker
Vamos a crear nuestra aplicación en Laravel, mediante la terminal o consola de comandos que nos trae instalada Laragon y mediante composer.
Vamos a dar un rápido vistazo a la estructura del proyecto, conocer de manera inicial la estructura de carpetas y archivos.
Vamos a dar los primeros pasos con la interfaz de comando de Laravel llamada artisan que nos facilitarán la vida al momento de querer implementar nuevos componentes en nuestro proyecto.
Vamos a actualizar el path del sistema para PHP.
Subiremos el proyecto a GitHub.
Vamos a conocer las rutas en laravel, que son un elemento fundamental para conectar nuestros controladores a rutas de nuestra app como veremos más adelante.
Conoceremos el componente de las rutas junto con las vistas más a fondo.
Vamos a conocer las rutas en laravel, que son un elemento fundamental para conectar nuestros controladores a rutas de nuestra app como veremos más adelante.
Vamos a configurar la base de datos en un proyecto en Laravel, y para probar la conexión, presentaremos y ejecutaremos las migraciones
Vamos a crear un controlador mediante artisan, la interfaz de comandos de Laravel.
Vamos a presentar el uso básico de modelos.
Vamos a referenciar un controlador desde la sección de las rutas.
Vamos a instalar una extensión para trabajar con PHP.
Veremos cómo imprimir variables a la vista.
Vamos a conocer cómo escapar HTML en Laravel blade.
Vamos a conocer como crear comentarios.
Aprenderemos a emplear la directiva de los condicionales.
Vamos a conocer la directiva de los ciclos.
Conoceremos cómo procesa Laravel las vistas.
Reorganizamos las vistas dentro de carpetas.
Aprenderemos a incluir fragmentos de vistas dentro de otras.
Vamos a crear un layout base.
Conoceremos el uso de la función de compact para compactar la data que enviamos a la vista desde el controlador.
Instalaremos una extensión para VSC.
Vamos a ver cómo podemos crear tablas y nuestra estructura de base de datos en Laravel mediante las migraciones.
Con un comando, reflejaremos la estructura de una migración a la base de datos.
Aprenderemos a revertir los cambios.
Crearas una migración para la categoría.
Aprenderemos a revertir los cambios.
Conoceremos cómo podemos modificar una tabla o migración.
Vamos a crear relaciones de tipo foranea.
Vamos a aprender el uso del comando refresh para recrear la base de datos con la definición de nuestras migraciones.
Vamos a ver unos posibles escenarios en donde pueden suceder errores.
Vamos a aprender a configurar la base de datos en una app en Laravel en el archivo de configuración y en el .env
Realizaremos una comparación entre las rutas de recursos y tradicionales.
Realizaremos una comparación entre las rutas de recursos y tradicionales.
Vamos a crear nuestro primer formulario para crear un Post, para esto haremos uso de una plantilla en blade.
Vamos a conocer el objeto request.
Vamos a ejecutar las migraciones.
create: Listado de categorías con la función de pluck
create: Listado de categorías con la función de pluck
Vamos a crear un recurso mediante nuestro ORM de nuestro modelo.
Vamos a aprender a realizar reglas de validación en Laravel para nuestro formulario.
Vamos a aprender a realizar reglas de validación en Laravel para nuestro formulario.
Vamos a conocer otro esquema, en el cual podemos validar desde el controlador.
Conoceremos otro esquema para validar desde el controlador y tener más control de crear un flujo personalizado.
Vamos a aprender a mostrar errores del formulario en la vista.
Vamos a crear una vista aparte que vamos a anexar en la de formularios.
Vamos a aprender a crear un layout madre para nuestra aplicación y definir en el mismo el HTML básico.
Presentamos una función con la cual podemos procesar los datos antes de validarlos.
Veremos algunas variantes para trabajar con la función de ayuda.
Aplicaremos una regla para que el slug sea único en la base de datos.
Creamos una función para crear un listado de post.
Crearemos un listado paginado.
Vamos a crear los enlaces para la vista de show, delete y edit.
Vamos a crear todo el proceso para editar un registro
Vamos a presentar una función para que recuerde el valor anterior.
Vamos a crear una vista aparte que vamos a anexar en la de formularios.
Vamos a aprender a redireccionar para páginas específicas
Vamos a crear la función CRUD para eliminar.
Vamos a crear la función de detalle.
Vamos a aplicar una validación en update sobre el slug.
Vamos a emplear las secciones Flash para mandar un mensaje de confirmación a nuestro usuario.
Aprenderemos a realizar el upload de una imagen de manera opcional.
Crearemos la relación entre Post y categorías a nivel del modelo para emplearla en el listado.
Vamos a crear todo el CRUD para las categorías.
Daremos un repaso de las rutas.
Veremos las rutas con argumentos opcionales.
Veremos las rutas agrupadas con los middleware, group, y controlador.
Veremos otras características de las rutas de tipo recurso.
Instalaremos breeze el cual generará un esquema para el login e instala y configura tailwind.css
Instalaremos breeze el cual generará un esquema para el login e instala y configura tailwind.css
Veremos la instalación de tailwind de manera manual.
Vamos a presentar los elementos creados por este paquete.
Vamos a configurar el estilo para las tablas empleando Tailwind.css y Laravel.
Vamos a configurar el estilo para los formularios empleando Tailwind.css y Laravel.
Vamos a configurar el estilo para el container empleando Tailwind.css y Laravel.
Vamos a configurar el estilo para los botones empleando Tailwind.css y Laravel.
Vamos a configurar el estilo para las cartas empleando Tailwind.css y Laravel.
Vamos a replicar el estilo en otros componentes
Vamos a configurar el proyecto en breeze usando Vue.
Vamos a configurar el proyecto en breeze usando React.
Vamos a hablar del camino a elegir para implementar el esquema de roles y que opciones tenemos.
Vamos a agregar la columna de rol a la entidad de usuarios.
Vamos a agregar la protección del rol vía middleware.
Vamos a crear el controlador y rutas iniciales.
Vamos a hacer el hola mundo de los componentes.
Vamos a crear la vista de index en base a componentes.
Vamos a conocer el uso de los slot para pasar datos adicionales.
Vamos a conocer los componentes en base a vistas y clases.
Daremos un rápido repaso de lo que hemos visto de los componentes hasta ahora.
Presentamos los slots con nombres en la variante de poder pasar múltiples datos.
Veremos cómo usar los slots con nombre y pasar solamente un dato en una sola línea.
Vamos a conocer el uso de los atributos en los componentes y los merges.
Veremos cómo usar los props para separar los datos del atributo bag.
Conoceremos cómo usar una serie de funciones para filtrar los atributos.
Conoceremos cómo cargar componentes de manera dinámica en base a un nombre.
Conoceremos el uso de los seeders, para generar datos de prueba.
Vamos a crear y ejecutar un seeder para las categorías.
Vamos a crear y ejecutar un seeder para los posts.
Presentamos y creamos un model factory para generar datos de prueba.
Vamos a crear una Api Rest tipo CRUD para las categorías.
Vamos a crear una Api Rest tipo CRUD para las post.
Vamos a crear una función para obtener los posts y categorías
Vamos a crear una función para obtener los posts dado una categoría.
Hablaremos sobre estos dos enfoques.
Vamos a conocer una forma de obtener un post dado por el slug.
Vamos a conocer otra forma de obtener un post dado por el slug.
Publicar en git
Autenticación en base a tokens
Vamos a conocer el esquema básico de autenticación en base a cookies y sesión.
Vamos a crear unas paginas con Vue y probar la instalacion anterior.
Hablaremos sobre Oruga UI, que nos ofrece, lo instalaremos y configuraremos en el proyecto; daremos los primeros pasos con esta tecnología.
Agregaremos axios al proyecto en Vue.
Vamos a crear el listado en consumiendo el recurso paginado de los post
Vamos a instalar la iconografía para el Material Design.
Vamos a crear el componente de paginación.
Vamos a crear las bases para el componente de creación.
Vamos a configurar Vue Router para que podamos navegar entre varias páginas.
Vamos a configurar la ruta en Laravel de Vue para que trabaje correctamente con VR.
Vamos a crear un listado para las categorías.
Vamos a crear un post.
Vamos a mostrar los errores del formulario.
Vamos a actualizar un post.
Vamos a completar el CRUD y creamos la función de borrar.
Vamos a configurar Tailwind en Vue.
Vamos a colocar un container en Vue.
Vamos a realizar cambios variados en el componente de listado.
Vamos a realizar cambios variados en el componente de guardado.
Vamos a crear un modal de confirmación al momento de eliminar.
Vamos a exponer el CSS por defecto de Oruga para poder modificarlo.
Vamos a mostrar un mensaje para las acciones CRUDs.
Vamos a crear el recurso rest para subir archivos.
Vamos a usar el componente de Oruga para el upload.
Vamos a mostrar posibles errores al momento de procesar la petición de upload.
Vamos a ver una variante con la cual podemos realizar el upload mediante Drag and Drop.
Vamos a borrar la imagen anterior.
Vamos a crear el esquema inicial para la ventana de login.
Vamos a enviar la petición y obtener el token de acceso.
Vamos a realizar algunos cambios para poder manejar el token de acceso desde Vue.
Vamos a guardar el token de acceso de manera global en la página global de Vue mediante variables.
Vamos a implementar algunas redirecciones al realizar el login.
Vamos a conocer como podemos enviar el token mediante peticiones los recursos protegidos.
Implementaremos la opción de logout.
Vamos a conocer como podemos registrar los datos de usuario mediante una cookie.
Implementaremos la opción de logout.
Vamos a explicar como funciona la verificación del token del usuario.
Vamos a terminar la implementación anterior.
Vamos a eliminar el token del usuario.
Vamos a integrar el token de auth y el manejo de la sesión en uno solo en el componente de Auth.
Vamos a crear un esquema para verificar la ruta antes de ingresar y con esto, verificar que el usuario esté autenticado.
Vamos a terminar de configurar el resto de los componentes enviando el token de autenticación, solucionar el problema de logout y mostrar datos de usuario.
Vamos a hablar sobre eliminar los datos de usuario de manera parcial al hacer el logout.
Veremos una introducción al uso de la caché.
Vamos a realizar los primeros pasos con la caché con un ejemplo de un recurso para la Rest Api.
Veremos otro esquema del ejemplo anterior.
Veremos como cachear un HTML
Veremos los principales tipos de controladores de caché.
Vamos a conocer como hacer el cache en las rutas.
Vamos a hacer algunos cambios a nivel del proyecto para agregar una nueva columna a la tabla de posts y poder utilizar la autorización.
Vamos a conocer el uso de los Gate para proteger recursos en base a reglas.
Políticas: Crear
Vamos a ver como usar la política creada antes.
Vamos a conocer cómo devolver respuestas más completas.
Vamos a terminar la implementación para crear un post.
Conoceremos algunos métodos importantes para usar los Gate.
Conoceremos algunos métodos importantes para usar los Gate.
Conoceremos algunos métodos importantes para usar los Gate.
Conoceremos cual es el paquete que tenemos para trabajar con los permisos y roles en Laravel, lo instalamos y configuramos.
Veremos la definición de los roles y permisos.
Vamos a crear un seeder para manejar los permisos y roles.
Hablaremos sobre la relación entre usuarios, permisos y roles.
Veremos cómo manejar roles a permisos/usuarios.
Vamos a conocer como hacer el proceso inverso.
Asignaremos los permisos correspondientes a los roles.
Vamos a conocer cómo verificar si los usuarios tienen acceso a ciertos roles y permisos.
Crearemos un CRUD para los roles.
Crearemos un CRUD para los permisos.
Crearemos las bases.
Registramos un permiso al rol seleccionado.
Vamos a remover un permiso del rol.
Empezamos a definir la estructura para migrar el desarrollo anterior a peticiones mediante JavaScript, creamos y hacemos la petición mediante axios.
Veremos cómo diferenciar entre una petición por JavaScript (axios) y formulario.
Vamos a crear un elemento HTML mediante JS.
Vamos a evitar colocar permisos repetidos desde el JavaScript.
Vamos a implementar la primera parte para remover los permisos del rol, variar la respuesta del controlador, comentar formulario, crear data-id en el botón para registrar el ID del permiso, recorrer el listado de botones y definir la llamada inicial.
Vamos a terminar la eliminación de roles, cambios en la petición y adaptar el proceso de asignar un rol.
Vamos a crear el esquema del crud para los usuarios para manejar los usuarios-roles.
Aplicaremos algunos procesos adicionales para validar el Password, evitar el email repetido, email y hash del password.
Vamos a implementar la funcionalidad de confirmar contraseñas.
Vamos a ejecutar el factory de usuarios.
Crearemos un nuevo componente para administrar los roles a los usuarios.
Vamos a colocar el listado de roles para el usuario.
Vamos a crear el esquema base para asignar roles a un usuario.
Vamos a terminar la asignación de roles al usuario.
Vamos a implementar la eliminación de roles al usuario.
Vamos a crear el esquema base para asignar permisos a un usuario.
Vamos a terminar la asignación de permisos al usuario.
Vamos a crear el listado de permisos asignados a un usuario.
Vamos a hablar de la implementación de la verificación de permisos y/o roles para los posts e implementar la primera verificación.
Vamos a terminar de verificar los permisos en el módulo de post.
Vas a realizar la permisología para las categorías.
Vamos a aplicar los permisos bases al controlador de usuarios.
Vamos a bloquear el acceso a la gestión de permisos y roles desde la vista.
Vamos a ocultar/mostrar los botones de acciones desde los listados.
Realizaremos algunos cambios en la política de los posts, modelo de usuario y middleware de acceso.
Vamos a mostrar todos los usuarios si el usuario es admin y solo los editores si es un usuario regular/editor.
Vamos a crear un gate para bloquear la edición de los usuarios admin si es editor.
Vamos a proteger el resto de los recursos.
Vamos a proteger los crud de roles y permisos.
Vamos a fusionar unos condicionales con el Gate de acceso a modificar el usuario en el controlador y componente de gestión del usuario.
Vamos a proteger el componente de gestión de permisos.
Vamos a colocar los enlaces de navegación para los cruds en la vista para del dashboard.
Vamos a colocar los condicionales para ocultar los enlaces a los CRUDs desde la vista.
Vamos a aplicar ciertas reglas de estilo para mejorar la visualización de los componentes de gestión creados en esta sección.
Trabajaremos en la ventana de login, una carga centrada.
Crearemos la estructura del header.
Crearemos el diseño de los enlaces de navegación.
Crearemos un logo para el navbar.
Vamos a definir el container para la app.
Vamos a crear el avatar en el header.
Vamos a aplicar detalles finales para alinear el contenido.
Vamos a aplicar el CSS de carta a los componentes de listado y guardar.
Vamos a aplicar el CSS de carta a los componentes de listado y guardar.
Vamos a hablar un poco de qué es lo que necesitas en tu proyecto Laravel para poder funcionar en un servidor con PHP y Apache.
Vamos a conocer como podemos obtener la versión que tengamos instalado de Laravel en nuestro proyecto y de cómo podemos actualizarla.
Vamos a aprender a crear validaciones personalizadas para nuestro formulario.
Vamos a aprender a redireccionar a un módulo u otro dependiendo del rol en el login.
Vamos a conocer un mecanismo con el cual podemos discriminar el tipo de petición, que sí es una petición a la Api Rest devolver un posible error a la misma en formato json y en caso contrario emplear el esquema original.
Vamos a crear archivos de lenguaje para traducir nuestra aplicación al español.
Vamos ha realizar la misma operación que vimos anteriormente pero empleando archivos de lenguaje.
Vamos ha realizar la misma operación que vimos anteriormente pero empleando archivos de lenguaje.
Vamos a personalizar el nombre del campo que aparece cuando hay un error.
Vamos a ver una variación de la paginación que vimos en anteriores secciones.
Vamos a aprender a paginar elementos de manera manual.
Vamos a ver una variación del Paginator anterior.
Vamos a ver cómo podemos crear una autenticación personalizada con parámetros personalizados.
Vamos a crear una clase para manejar funciones de ayuda en toda nuestra app.
Vamos a conocer el uso de las colas para poder procesar trabajos en segundo plano.
Vamos a ver un caso de estudio que sería procesar una imagen mediante un trabajo.
Ahora, vamos a ver cómo podemos crear otro job para procesar correos.
Vamos a conocer algunos detalles sobre los middleware en Laravel.
Vamos a conocer como podemos configurar un log básico en Laravel.
Vamos a crear un formateador para los logs en Laravel.
Vamos a conocer como podemos exportar e importar un proyecto en Laravel de manera manual y mediante github.
Para extender las funcionalidades de nuestro proyecto, podemos crear nuestros propios comandos.
Aprende a emplear un PLUGIN o paquete sencillo para manejar las metatags del SEO, son FUNDAMENTALES en Blogs, tiendas Online y similares
Veremos como podemos obtener registros de manera aleatoria.
Vamos a aprender a instalar una librería para manejar gráficas en nuestro proyecto.
Vamos a conocer una librería o paquete que nos permitirá generar imágenes y hacer operaciones sobre las ya existentes como rescalarlas, watermark, etc.
Vamos a conocer cómo podemos generar códigos QR y personalizarlos en formato, color, tamaño y por supuesto, contenido.
Vamos a trabajar con archivos excel empleando este paquete; vamos a ver cómo exportar una colección a un xlsx.
Vamos a trabajar con la importación de registro mediante Laravel Excel.
Vamos a emplear un paquete para traducir textos de la aplicación de manera dinámica.
Vamos a instalar el paquete oficial para crear pasarelas de pago mediante Stripe.
Vamos a generar las claves de acceso para poder emplear Stripe con el módulo instalado anteriormente.
Vamos a crear un customer en Stripe mediante Laravel, que es un paso fundamental para realizar cualquier otra operación.
Vamos a crear un formulario para poder registrar un método de pago en Stripe.
Vamos a registrar el método de pago que solicitamos en el anterior formulario.
Vamos a aprender a mostrar todos los métodos de pago del usuario.
Vamos a crear un formulario para registrar un pago único.
Vamos a procesar el pago único del formulario anterior.
Vamos a crear un sistema sencillo de suscripción en Laravel.
Vamos a explorar el resto de la información que tenemos para trabajar con las suscripciones.
Este paquete nos permite generar enlaces de descarga de nuestros archivos.
Vamos a hablar sobre el desarrollo que vamos a emplear y vamos a conocer la extensión para desarrollar en Vue en nuestro navegador.
Vamos a crear un formulario base con el cual trabajar.
Vamos a crear la unión o los v-model entre el campo de formulario y las propiedades.
Vamos a aprender a prevenir el evento submit del navegador.
Vamos a crear una sencilla validación para verificar si el formulario es válido o no.
Vamos a crear un componente hijo para manejar los campos de formulario.
Vamos a atar nuestro v-modal al nuevo componente.
Vamos a replicar el trabajo para el resto de los inputs.
Vamos a aprender a agregar máscaras en nuestros campos de formulario.
Vamos a aprender a realizar validaciones más elaboradas con un nuevo módulo.
Vamos a crear las validaciones para el resto de los campos del formulario.
Vamos a dar una representación visual de cuando el campo es válido o no.
Vamos a permitir el envío del formulario solamente cuando el mismo es válidos.
Vamos a crear un recurso de tipo rest para guardar el contacto enviado.
Vamos a agregar la columna faltante a la tabla de contactos.
Vamos a hacer una petición mediante axios para crear el contacto.
Vamos a conocer un mecanismo con el cual podemos reiniciar el formulario programáticamente.
Vamos a instalar un paquete para enviar notificaciones.
Vamos a hacer algunos sencillos cambios visuales al formulario.
Vamos a actualizar nuestro proyecto a Laravel 7.
Vamos a crear un componente en Laravel 7 y conocerlo básicamente.
Vamos a presentar el uso de las funciones y los componentes.
Vamos a conocer el uso de los slots para colocar contenido adicional en los componentes.
Vamos a conocer el uso de los slots para colocar contenido adicional en los componentes.
Vamos a presentar el uso de los componentes en línea.
Vamos a ver cómo podemos trabajar con clases así como cualquier otro atributo HTML con los componentes.
Vamos a ver cómo podemos emplear subvistas en Laravel.
Funciones para minimizar la cantidad de líneas de código para definir claves primarias y relaciones foráneas.
Conjunto de métodos que podemos emplear para trabajar con los String cómodamente, limpiamente y organizadamente.
Vamos a conocer el cliente que tenemos para realizar peticiones HTTP.
Vamos a conocer cómo emplear el método post, lanzar excepciones y comprobar parámetros que vienen en la respuesta.
Vamos a realizar aprender a fingir las peticiones, pasando datos falsos con el fake.
Vamos a aprender a interceptar la petición y realizar avalúos en la misma.
Vamos a conocer el resto de los métodos y cómo podemos dar un tiempo máximo para procesar la solicitud.
Vamos a hablar un poco sobre las opciones que tenemos para integrar la autenticación requerida en la Rest Api.
Vamos a instalar y configurar Laravel Passport en nuestro proyecto.
Vamos a crear el recurso para realizar el login desde nuestra Rest Api.
Vamos a ser una demostración para cambiar atributos de la entidad del token generado.
Vamos a proteger un recurso y hacer una consulta a la rear api.
Vamos a crear un recurso rest par obtener la información del usuario autenticado.
Vamos a conocer como podemos emplear el login social en Laravel con Laravel Socialite.
Vamos a probar el login vía Twitter.
Vamos a crear las credenciales para el login via Twitter.
Vamos a probar el login social con Twitter.
Vamos a colocar el uso del provider de manera dinámica en las funciones para el login social.
Vamos a crear las credenciales para el login via Facebook.
Vamos a probar el login vía Facebook.
Vamos a crear las credenciales para el login via Google.
Vamos a probar el login vía Google.
Vamos a crear la migración y modelo para los usuarios sociales.
Vamos a crear el esquema para lugar el login social.
Vamos a crear un sencillo diseño para nuestro botones para realizar el login.
Vamos a conocer un paquete que nos genera un esqueleto base a nuestra app en Laravel.
Sobre los siguientes vídeos
Vamos a crear un proyecto en Laravel JetStream.
Vamos a ejecutar las migraciones y hacer las primeras pruebas con un usuario.
Vamos a realizar otras pruebas sobre nuestra app y conocer de manera superficial que es lo que tenemos.
Vamos a ver cómo funcionan los equipos.
Vamos a conocer como podemos deshabilitar opciones en nuestro Laravel.
Vamos a conocer como esta formada la ruta de dashboard generada por defecto.
Vamos a conocer cómo están formados los templates que tenemos definidos por defecto y su estructura en base a componentes.
Vamos a crear un controlador para personalizar nuestra app.
Vamos a crear una ruta para el controlador de usuario y conocer un poco más de los template que tenemos.
Vamos a publicar un conjunto de vistas o componentes templates de JetStream a nuestro proyecto.
Vamos a publicar un proveedor de JetStream para conocer cómo funcionan los controladores.
Vamos a generar una versión de desarrollo para nuestro Tailwind.
Vamos a crear un listado de usuarios en nuestra app.
Vamos a crear un componente anónimo para poder rehutilizar en nuestra app.
Vamos a emplear una iconografía para nuestra app.
Vamos a crear un componente para manejar los enlaces.
Vamos a crear nuestro primer componente en Laravel Livewire para un listado de usuarios como hicimos anteriormente con el controlador.
Vamos a crear una lista de usuarios en nuestro componente.
Vamos a crear la ruta y consumir directamente el componente.
Vamos a explorar un poco el componente reactivo de Liveware entre los componentes y las vistas.
Vamos a trabajar con la paginación en Liveware.
Vamos a crear el filtro con la propiedad name que creamos anteriormente.
Vamos a potenciar un poco más el filtro para que trabaje con el email.
Vamos a crear una función para limpiar los filtros.
Vamos a crear una función para eliminar un registro/usuario.
Vamos a definir nuestro campos filtro de tipo query string.
Vamos a crear un usuario mediante un componente.
Vamos a aplicar reglas de validación básicas para nuestro formulario.
Vamos a modificar el componente para que soporte también recibir un id del usuario que vamos a poder editar.
Vamos a hacer el resto de las modificaciones sobre el componente de creación para editar un usuario.
Vamos a crear el componente de validación para evitar colocar un email repetido y cambiar el mismo cuando estamos en fase de edición.
Vamos a definir el enlace desde el listado para editar un usuario.
Vamos a ver un par de mecanismos para limpiar campos de formulario.
Vamos a hacer el proceso de carga de imágenes en Laravel Livewire.
Vamos a cargar un avatar a nuestro usuario empleando un proceso existente para el usuario.
Vamos a convertir el password en un hash.
Vamos a mostrar un mensaje en caso de que la operación de creación o actualización fueran correctas.
Vamos a acomodar un poco el diseño de la página de listado.
Vamos a acomodar un poco el diseño de la página de creación y/o edición.
Vamos a evaluar 3 mecanismos con los cuales podemos diferir peticiones en Livewire.
Vamos a empezar la implementación de una caja Drag and Drop para cargar imágenes del avatar.
Vamos a terminar la implementación indicando ruta de carga, nombre de los parámetros, token y controlador.
Vamos a definir el proceso de carga del avatar.
Vamos a conocer una función para limpiar las propiedades definidas en la clase componente.
Vamos a conocer el uso de eventos para enviar de manera duplex entre componente y vista y viceversa.
Vamos a crear un modal que se mostrará cuando se cree o actualice el usuario.
Vamos a crear un datatable, lo que significa que sería una tabla paginada, con ordenación por columnas y campo de búsqueda.
Vamos a crear un proceso en cual nos permitirá ingresar más datos al momento del login, por ejemplo, la ip del usuario.
Aprende a emplear el drag and drop en Laravel con o sin Livewire sobre elementos HTML o componentes de Livewire.
Vamos a explicar que es Inertia.js, su relación con Laravel y crear un nuevo proyecto.
Vamos a ejecutar las migraciones y hacer las primeras pruebas con un usuario.
Vamos a realizar otras pruebas sobre nuestra app y conocer de manera superficial que es lo que tenemos.
Vamos a crear un componente funcional en Laravel con Inertia para conocer cómo funciona el proceso de creación de una página enlazada a una ruta.
Vamos a crear un controlador para reemplazar el esquema actual.
Vamos a crear una tabla con estilo para mostrar los registros.
Vamos a crear un enlace de y componente de creación.
Vamos a crear una carpeta para almacenar nuestros componentes de listado y creación.
Vamos a implementar el proceso mínimo y necesario para la creación de registros empleando Inertia.
CRUD: Proceso de creación, validaciones
Vamos a mostrar los errores con una mejor representación, la cual sería con un componente en Vue empleando las clases de Tailwind ya existentes, en el paso, vamos a aprender a cargar componentes de Vue de Jetstream.
Vamos a refactorizar las propiedades para los model que tenemos definido en Vue.
Vamos a aplicar componentes que existen en Jetstream y definir clases para dar un mejor estilo a nuestros campos.
Vamos a hablar sobre la propiedad page para obtener información del componente.
Vamos a crear la vista de show y cambiar el nombre de las propiedad de usuario.
Vamos a crear la siguiente y última opción CRUD, la de eliminar.
Vamos a adaptar el dialog de tipo confirmación de JS en nuestra opción de borrar.
Vamos a presentar un componente existente dentro de Jetstream, un modal en Vue.
Vamos a adaptar el componente de ModalDialog para la opción de eliminar.
Vamos a definir un diseño en CSS y un icono representativo a la acción.
Vamos a crear usuarios de prueba para tener más registros.
Vamos a crear el esquema de paginación para nuestros registros.
Vamos a comenzar con la búsqueda como lo haríamos en Laravel nativo.
Vamos a adaptar la búsqueda con Laravel Inertia.
Vamos a hacer que trabajen la paginación y la búsqueda en conjunto.
Vamos a adaptar los mensajes flash a nuestro CRUD.
Vamos a colocar los mensajes flash en los componentes CRUDs correspondientes.
Vamos a crear un contenedor para los mensajes de tipo flash.
Vamos a crear la función para limpiar los campos de formulario.
Vamos a aprender a cargar archivos empleando Laravel Inertia.
Vamos a desplegar el avatar del usuario.
Vamos a trabajar en la agrupación de las rutas con atributos comunes.
Vamos a crear la opción de eliminar el avatar del usuario.
Vamos a variar las opciones en la vista de editar según el estado del avatar.
Vamos a limpiar el campo de búsqueda.
Vamos a dar algunos tips y procesos para lanzar la app de Laravel a Producción.
Vamos a adaptar la app de Laravel a un dominio.
Vamos a hablar sobre las configuraciones que tienes que realizar a nivel del proyecto.
Vamos a presentar la documentación oficial de tailwind.css.
Vamos a instalar tailwindcss mediante Node en un proyecto desde cero.
Vamos a crear el espacio de trabajo como archivo html y css.
Vamos a crear nuestro primer componente para dar los primeros pasos con este framework.
Vamos a presentar los tamaños de ventana que son fundamentales para el responsive.
Vamos a crear un componente reutilizable para el botón empleando la directiva apply.
Vamos a presentar el uso de las transiciones css en tailwind.
Vas a crear un botón rojo reutilizable adaptativo a la pantalla.
Vamos a crear un sencillo tema, específicamente sobre el container.
Vamos a crear un componente de alerta.
Vas a convertir el componente anterior para que sea reutilizable fácilmente.
Vas a crear otros componentes a partir del componente de alerta.
Vamos a crear un componente de carta.
Ahora vamos a crear el componente de carta anterior para que sea reutilizable.
Vas a crear un componente de imagen.
Vas a hacer otro ejercicio para crear un componente de carta con una imagen.
Vamos a crear un componente de tipo mensaje emergente (la UI).
Vamos a crear una variación del componente de tipo carta que vimos anteriormente.
Hola Mundo en Vue
- Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter
Acepto recibir anuncios de interes sobre este Blog.
!Cursos desde!
10$
En Udemy
Quedan 4d 20:38!
!Cursos desde!
4$
En Academia
Ver los cursos!Libros desde!
1$
Ver los libros