El contenido de este curso es excepcional, estuve buscando por TH-cam multitud de cursos, y creo que he acertado eligiéndote ! Ojalá, más adelante, realizaras un tutorial de un proyecto bien completo utilizando solo Laravel, o incluso con Laravel y Vue para unificar los conocimientos de los dos cursos!! Gracias!
tremendo todo lo que está explicando! muchas gracias por compartir nuevamente!. En la última clase dijiste que saliste despeinado y en esta fuiste con una gorra. Bien ahí :)
Vinieron bien las vacaciones del teacher para ponernos al dìa con este curso y el de vue, va viento en popa esto. Me parece que el cron 15 * * * se ejecuta 1 vez por hora.
Excelente curso, felicidades! Me sucedió algo: en el ejemplo del comando "make:order" genera la orden pero NO el Invoice (desde la ruta "/create" funciona). Esto me sucede con el OrderObserver registrado en el EventServiceProvider con "protected $observers = [Order::class => [OrderObserver::class]];" pero si lo registro en boot() mediante "Order::observe(OrderObserver::class);" sí funciona tanto en el comando como en el controlador. Es algo de Laravel o soy yo? 😅
La idea con Laravel seria no ejecutar lógica directamente en el sistema de base de datos?? lo pregunto por que un observer se aplicaría como un trigguer directamente en la DB
Luego de ver los principios solid volvi a repasar todo para ver que se podria mejorar y me cae la duda , supongamos que tengo que hacer varias acciones despues de agregar un nuevo dato a la BD , generar la factura , mandar un correo, crear un ticket etc...tendria que crear un observer o un listener por cada una de esas acciones para darle minima responsabilidad a cada uno o la responsabilidad se la da a la accion de crear el dato .....no se si me hago entender
Hola de nuevo. Una consulta, entonces con el patron de diseno 'Observer' , lo utilizamos solo para el CRUD (web/api), y de esa manera desacoplamos la responsabilidad al controlador (con las funciones que son coincidentes) ? Si es asi, entonces el controlador queda con menos responsabilidad ? Por ultimo, si utilizamos livewire, delegamos dicha responsabilidad al Observer, es decir mantenemos el mismo criterio ?
En el minuto 01:14:53 del video, hablas de exponer el comando personalizado a través del archivo de rutas "console.php", con similar estructura que la del comando INSPIRE. No entendí bien y me faltó el ejemplo de cómo sería para el comando creado de CreateOrderCommand. Con lo de exponer, ¿te referías a que ese comando se pudiera ejecutar desde el exterior de la propia aplicación, es decir, ejecutado por otra aplicación de terceros? Aunque comentas que se verá en cursos posteriores, ¿podrías mencionar el ejemplo de cómo se implementaría la llamada al CreateOrderCommand dentro de este archivo ./routes/console.php? Saludos.
Consulta Juanjo, ahora bien, el events/listener o los observer conviene usar para escuchar, porque los command yo los usaria para generar reportes, impresiones o exportacion o importaciones. el cron lo podria usar para recargar la pagina despues de tantos segundos o minutos por ejemplo o realizar un mantenimiento de las tablas o backup o algo por el estilo. Quizas estoy meando fuera del tarro?
Cada uno tiene sus aplicaciones, pero estas no son rígidas. Variarán conforme a las situaciones de desarrollo. Veremos parte de esto cuando introduzcamos solid, y cómo cada herramienta nos puede ayudar en función de la situación. De momento, tan solo estamos presentando dichas herramientas, pero posteriormente, y sobre todo con el taller, veremos ejemplos de uso que nos ayuden a ajustar el criterio de uso 👍
Que groso por favor, gracias por todo lo que haces para los que estan aprendiendo. Este video si que lleva tiempo asimilarlo pero seguro que vale la pena. Entiendo que todo esto se ejecuta en segundo plano y mi duda es cual se usa en una arq MVC básica, por lo visto creo que lo más usual son los observers pero es mi apreciación de junior. Muchas gracias.
Muchas gracias! Como siempre, depende del uso. Los observadores son más interesantes cuando todo gira en torno a una única entidad, mientras que los escuchadores nos servirán para estructuras más descolgadas. En DDD lo usaremos bastante 👍
No se si es por el laravel 10 o no, pero me tira una advertencia en el dispatch($order) en el controlador OrderController, Too many arguments to function dispatch(). 1 provided, but 0 accepted. y en la ejecucion corre bien y da Exito.
Aprovechando que se empleó un valor de tipo FLOAT para la columna AMOUNT de las tablas ORDERS e INVOICES, me gustaría saber cómo validar o que regla de validación emplear en el correspondiente FormRequest. Más que nada porque, para MySQL, el separador válido de decimales es un punto. Pero, en cambio, en determinados países, como en España, el separador de decimales es una coma. En Laravel, existe la regla NUMERIC para verificar el valor correcto. Pero no considera la coma como separador válido. Por tanto, ¿cómo hacer para no obligar a que un usuario tenga que emplear el punto como separador de decimales y, así, sea validado el valor pasado y se ingrese correctamente en la tabla correspondiente? Saludos.
Que gran profesor. De lo mejor que me he podido encontrar.
Muchas gracias.
No hay mejor curso en toda la web que el que aquí se presenta.
Muchas gracias!!
Súper de verdad no sabía nada de esto de laravel jeje, me gusto mucho y gracias de verdad estoy aprendiendo full
Muchas gracias José!
El contenido de este curso es excepcional, estuve buscando por TH-cam multitud de cursos, y creo que he acertado eligiéndote !
Ojalá, más adelante, realizaras un tutorial de un proyecto bien completo utilizando solo Laravel, o incluso con Laravel y Vue para unificar los conocimientos de los dos cursos!!
Gracias!
Ese será el taller de Laravel que arranca la semana que viene 👍
Excelente explicación, para laravel 11 cambiaron algunas cosas, pero en la documentación se ve claramente como se debe de hacer.
Desconocía lo de Tareas Programadas. Me encantó! le veo muchas utilidades interesantes
Muchas gracias!
Muchas gracias por la Clase!
Gracias a ti!
gracias por los cursos estan muy buenos recomendado
Muchas gracias!
tremendo todo lo que está explicando! muchas gracias por compartir nuevamente!. En la última clase dijiste que saliste despeinado y en esta fuiste con una gorra. Bien ahí :)
Muy bueno, muchas gracias por este aporte de gran calidad, como siempre agradecerte tu tiempo, saludos🙂
Muchas gracias Antonio!!
Muchas gracias por las lecciones, estoy disfrutando mucho con ellas. Gran trabajo.
Muchas gracias Roberto!
Muy buena explicación! muchas gracias!
Magnifica clase! Gracias!
Mil gracias!!
Tremendo, por mas Laravel 💫
A por ello! 🙂
Muchas gracias profe!!!
Para cuándo un curso de php y mysql con codeIgniter???
Un cordial saludo.
Oído cocina! :)
profe me gustaria saber si usted hara alguna actualizacion de laravel con la nueva vesion y aplicando otros patrones
Vinieron bien las vacaciones del teacher para ponernos al dìa con este curso y el de vue, va viento en popa esto. Me parece que el cron 15 * * * se ejecuta 1 vez por hora.
Muy cierto Pablo! A las y 15 de cada hora. Gracias!
Grande Master, gracias por tanto.
Gracias a ti por tu apoyo Óscar!
Excelente curso, felicidades!
Me sucedió algo: en el ejemplo del comando "make:order" genera la orden pero NO el Invoice (desde la ruta "/create" funciona).
Esto me sucede con el OrderObserver registrado en el EventServiceProvider con "protected $observers = [Order::class => [OrderObserver::class]];" pero si lo registro en boot() mediante "Order::observe(OrderObserver::class);" sí funciona tanto en el comando como en el controlador. Es algo de Laravel o soy yo? 😅
Hola que tal, Hubo una actualizacion con laravel y estoy viendo diferencias ya
La idea con Laravel seria no ejecutar lógica directamente en el sistema de base de datos?? lo pregunto por que un observer se aplicaría como un trigguer directamente en la DB
Luego de ver los principios solid volvi a repasar todo para ver que se podria mejorar y me cae la duda , supongamos que tengo que hacer varias acciones despues de agregar un nuevo dato a la BD , generar la factura , mandar un correo, crear un ticket etc...tendria que crear un observer o un listener por cada una de esas acciones para darle minima responsabilidad a cada uno o la responsabilidad se la da a la accion de crear el dato .....no se si me hago entender
Hola de nuevo. Una consulta, entonces con el patron de diseno 'Observer' , lo utilizamos solo para el CRUD (web/api), y de esa manera desacoplamos la responsabilidad al controlador (con las funciones que son coincidentes) ? Si es asi, entonces el controlador queda con menos responsabilidad ? Por ultimo, si utilizamos livewire, delegamos dicha responsabilidad al Observer, es decir mantenemos el mismo criterio ?
En el minuto 01:14:53 del video, hablas de exponer el comando personalizado a través del archivo de rutas "console.php", con similar estructura que la del comando INSPIRE. No entendí bien y me faltó el ejemplo de cómo sería para el comando creado de CreateOrderCommand. Con lo de exponer, ¿te referías a que ese comando se pudiera ejecutar desde el exterior de la propia aplicación, es decir, ejecutado por otra aplicación de terceros? Aunque comentas que se verá en cursos posteriores, ¿podrías mencionar el ejemplo de cómo se implementaría la llamada al CreateOrderCommand dentro de este archivo ./routes/console.php? Saludos.
Consulta Juanjo, ahora bien, el events/listener o los observer conviene usar para escuchar, porque los command yo los usaria para generar reportes, impresiones o exportacion o importaciones. el cron lo podria usar para recargar la pagina despues de tantos segundos o minutos por ejemplo o realizar un mantenimiento de las tablas o backup o algo por el estilo. Quizas estoy meando fuera del tarro?
Cada uno tiene sus aplicaciones, pero estas no son rígidas. Variarán conforme a las situaciones de desarrollo. Veremos parte de esto cuando introduzcamos solid, y cómo cada herramienta nos puede ayudar en función de la situación. De momento, tan solo estamos presentando dichas herramientas, pero posteriormente, y sobre todo con el taller, veremos ejemplos de uso que nos ayuden a ajustar el criterio de uso 👍
@@GOGODEV ufff ya estoy ansioso x el taller.
Que groso por favor, gracias por todo lo que haces para los que estan aprendiendo. Este video si que lleva tiempo asimilarlo pero seguro que vale la pena. Entiendo que todo esto se ejecuta en segundo plano y mi duda es cual se usa en una arq MVC básica, por lo visto creo que lo más usual son los observers pero es mi apreciación de junior. Muchas gracias.
Muchas gracias!
Como siempre, depende del uso. Los observadores son más interesantes cuando todo gira en torno a una única entidad, mientras que los escuchadores nos servirán para estructuras más descolgadas. En DDD lo usaremos bastante 👍
los events y listeners sirven para mostrar cambios en tiempo real en otra sesión de usuario?
Hola Cristóbal! Para estos efectos quizás lo más apropiado serían los patrones reactivos. Un abrazo!
No se si es por el laravel 10 o no, pero me tira una advertencia en el dispatch($order) en el controlador OrderController, Too many arguments to function dispatch(). 1 provided, but 0 accepted. y en la ejecucion corre bien y da Exito.
Hola ! Tienes un repo con el código para que le eche un vistazo?
@@GOGODEV no, pero lo subo a git y te paso
@GOGODEV Ten en cuenta que están todos las secciones como los fuiste dando. Ahora estoy por ver los "observer".
@@GOGODEV pienso que puede ser alguna extension que me diga eso.
@@sandokanArg Es posible. Ese warning viene de un análisis estático de código. Hay que echarle un vistazo 😉
Aprovechando que se empleó un valor de tipo FLOAT para la columna AMOUNT de las tablas ORDERS e INVOICES, me gustaría saber cómo validar o que regla de validación emplear en el correspondiente FormRequest. Más que nada porque, para MySQL, el separador válido de decimales es un punto. Pero, en cambio, en determinados países, como en España, el separador de decimales es una coma. En Laravel, existe la regla NUMERIC para verificar el valor correcto. Pero no considera la coma como separador válido. Por tanto, ¿cómo hacer para no obligar a que un usuario tenga que emplear el punto como separador de decimales y, así, sea validado el valor pasado y se ingrese correctamente en la tabla correspondiente? Saludos.
Eso hacerlo en fronted a través de JavaScript
@@arcangelrs Bien ... ¿Y cómo lo harías? Pon un ejemplo.