Skip to content

Latest commit

 

History

History
63 lines (37 loc) · 1.9 KB

events.md

File metadata and controls

63 lines (37 loc) · 1.9 KB

Events

Contents

The Basics

Events provide a great away to build de-coupled applications, and allow plug-ins to tap into the core of your application without modifying its code. Let's jump right in.

Firing Events

Firing an event couldn't be any easy, just tell the Event class the name of the event you want to fire:

Firing an event:

$responses = Event::fire('loaded');

Notice that we assigned the result of the fire method to a variable. This method will return an array containing the responses of all the event's listeners.

Sometimes you may want to fire an event, but just get the first response. Here's how:

Firing an event and retrieving the first response:

$response = Event::first('loaded');

Note: The first method will still fire all of the handlers listening to the event, but will only return the first response.

Listening To Events

So, what good are events if nobody is listening? It's simple to register event handlers. Let's take a look:

Registering an event handler:

Event::listen('loaded', function()
{
	// I'm executed on the "loaded" event!
});

The Closure we provided to the method will be executed each time the "loaded" event is fired. Simple, huh?

Laravel Events

There are several events that are fired by the Laravel core. Here they are:

Event fired when a bundle is started:

Event::listen('laravel.started: bundle', function() {});

Event fired when a database query is executed:

Event::listen('laravel.query', function($sql, $bindings, $time) {});

Event fired right before response is sent to browser:

Event::listen('laravel.done', function($response) {});