If you've used Eloquent on medium to large projects before, you may have encountered a situation where you want to take action when something happens to your models. Eloquent provides a convenient way to do so.
The Observer Pattern
The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. - Wikipedia
In our case, Eloquent models can notify us about changes on a given model.
Model Events
Eloquent provides a handful of useful events to monitor the model state: creating
, created
, updating
, updated
, deleting
, deleted
, saving
, saved
, restoring
, restored
.
Notice the "ing/ed" difference.
creating
: Called before saving the new member.created
: Called after saving the member.
Eloquent also fires similar events that we can listen for. The below example attaches a listener to the creating
event on the Member
model.
Event::listen("eloquent.created: App\\Member", function(Member $member) {
// do something
});
Continue reading %Quick Tip: The Convenient Magic of Eloquent Observers%
by Younes Rafie via SitePoint
No comments:
Post a Comment