Events
The event API offers a fire and forget approach to emitting events in an application. In other words, events inform the application when an action has occurred, while remaining unaware of which modules acted on the event, if any at all. This allows custom modules to respond to certain events without extending existing modules.
Usage Example
Consider a member registration module. This module is pretty generic, and each client may desire slightly varied behavior for their application. One client may want an account activation email to be sent to the end user. Another client may want a text message to be sent, or nothing at all.
Instead of extending the member's module, you can simply create your own module, then create listeners for the user registration event. In your listeners, you would define the controller method to be executed when the event occurs, and that is where your "send email" code would reside.
Listening for an Event
Events listeners must be defined inside the init()
method of a module's configuration file. The listener below waits for the members.signup_complete
event to occur. When the event is triggered, the sendSignUpEmail
method will be executed from the MembersEventsController
class.
Event::listen(action, name)
Fire an Event
Executing an event is simple.
Fire(data)
Last updated