Mute and Unmute Model Observers With Unobserve

Packages

October 11th, 2019

Unobserve is a Laravel package by Stephen Lewis to mute and unmute observers at will.

When testing Laravel applications, we frequently need to “silence” events, so as not to trigger additional side-effects. Laravel’s Event::fake method is useful, but muting a specific model observer is still problematic.

Unobserve takes care of that, making it easy to mute and unmute an observer at will.

The usage of this package is simple: you use the package’s CanMute trait on model observers:

namespace App\Observers;

use Monooso\Unobserve\CanMute;

class UserObserver
{
    use CanMute;
}

With the trait in place, you can now mute and unmute your observer:

UserObserver::mute();

UserObserver::unmute();

To learn more about this package, get full installation instructions, and view the source code on GitHub at monooso/unobserve.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.