Refactorización de Traits a Clases en Laravel

trait refactoring

¿Por qué quiero refactorizar un Trait?

La razón mas común para hacer esto, es porque el trait crece o se requiere funcionalidad que ya no puede ser manejada por el trait. También existe la posibilidad de que tomáramos una mala decisión y el trait no era lo que se necesitaba.

Continue reading Refactorización de Traits a Clases en Laravel

Cómo Probar Model Observers en Laravel

prueba de model observers

Basado en una pregunta realizada en una chat dejo un ejemplo de como puedes hacer pruebas cuando usas observadores para manejar los eventos de Eloquent.

Cómo probar traits existentes en Laravel

prueba de traits en laravel

¿Cómo pruebas tus traits?

Los Traits son geniales para compartir parte del comportamiento de una clase sin tener que extender de nada. Es como un copy/paste pero sin la duplicación de código ya que el código esta en el Trait.

Esto también ayuda a organizar el código de una clase. En Laravel puedes encontrar varios ejemplos donde se aplica esta idea.

Continue reading Cómo probar traits existentes en Laravel

Cómo subir y probar archivos en Laravel

Probar archivos

Transacciones en Laravel (Insertar modelos relacionados)

tramsacciones laravel

Aplicando el patrón de diseño State en laravel

patron de diseno state

Existen muchos casos en los que nuestra aplicación realiza acciones de acuerdo a un “estado”.

Un ejemplo típico de esto es cuando compras cosas en línea y dejas el carrito lleno sin completar la compra.

De forma interna el sistema detecta este carrito en el estado “no completado” y te hace recordatorios regulares vía E-mail para que finalices la compra.

Continue reading Aplicando el patrón de diseño State en laravel

Aplicando el Patrón de Diseño Builder en Laravel

utilizando el patrón de diseño builder

Novedades de Laravel 6: Modelos implícitos en validaciones

modelos implicitos unique exists

Novedad de Laravel 6: Assert Deleted

Assert deleted

PHP 7.4 Expansión dentro de arreglos (Unpacking inside arrays)

php 7.4 expansión de arreglos