monooso / unobserve by monooso

Mute and unmute Laravel observers at will.
272,520
83
4
Package Data
Maintainer Username: monooso
Maintainer Contact: code@stephenlewis.me (Stephen Lewis)
Package Create Date: 2019-09-25
Package Last Update: 2024-03-20
Language: PHP
License: MIT
Last Refreshed: 2024-04-25 15:18:03
Package Statistics
Total Downloads: 272,520
Monthly Downloads: 4,605
Daily Downloads: 236
Total Stars: 83
Total Watchers: 4
Total Forks: 11
Total Open Issues: 1

Unobserve

About Unobserve

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.

Requirements and installation

Select the appropriate branch for your version of Laravel.

| Branch | Laravel Versions | PHP Version | |:-------|:-----------------|:------------| | 1.x | ^5.8, ^6.0 | ^7.2 | | 2.x | ^7.0 | ^7.2.5 |

Install Unobserve using Composer:

composer require monooso/unobserve

Usage

First, add the CanMute trait to your observer class.

<?php

namespace App\Observers;

use Monooso\Unobserve\CanMute;

class UserObserver
{
    use CanMute;
}

You can now mute and unmute your observer as needed:

UserObserver::mute();
UserObserver::unmute();

License

Unobserve is open source software, released under the MIT license.