Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zachflower/ignorable-observers

Dynamically disable/enable Laravel's Eloquent model observers.
https://github.com/zachflower/ignorable-observers

eloquent laravel laravel-package php

Last synced: about 9 hours ago
JSON representation

Dynamically disable/enable Laravel's Eloquent model observers.

Awesome Lists containing this project

README

        

# Ignorable Observers

[![Code Climate](https://codeclimate.com/github/zachflower/ignorable-observers/badges/gpa.svg)](https://codeclimate.com/github/zachflower/ignorable-observers) [![build](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fzachflower%2Fignorable-observers%2Fbadge&label=build)](https://actions-badge.atrox.dev/zachflower/ignorable-observers/goto) [![Packagist](https://img.shields.io/packagist/v/zachflower/ignorable-observers.svg)]()

Dynamically disable/enable Laravel's Eloquent model observers. This library provides the ability to temporarily disable observable events for Eloquent models. For example, temporarily disable observers that kick off emails, push notifications, or queued calculations when performing a large number of database inserts or updates.

## Installation

Install using composer:

```
composer require zachflower/ignorable-observers
```

## Usage

To give an Eloquent model the ability to temporarily ignore observers, simply add the `IgnorableObservers` trait:

```php
$i
]);
}

ExampleModel::unignoreObservableEvents();
```

## Contributing

1. Fork it
1. Create your feature branch (`git checkout -b my-new-feature`)
1. Commit your changes (`git commit -am 'Add some feature'`)
1. Push to the branch (`git push origin my-new-feature`)
1. Create new [Pull Request](https://github.com/zachflower/ignorable-observers/compare)

## License

Ignorable Observers is an open-sourced library licensed under the MIT license.