Book Image

CakePHP 2 Application Cookbook

Book Image

CakePHP 2 Application Cookbook

Overview of this book

Table of Contents (20 chapters)
CakePHP 2 Application Cookbook
Credits
Foreword
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Listeners and subscribers


Listeners in the framework implement the observer pattern, as described at http://en.wikipedia.org/wiki/Observer_pattern. A listener object waits to be notified of a new event. If notified, it will then check if the event can be handled, and if so, it will run the event-handling method based on the event name.

In CakePHP, anything can be a listener; the only requirement is to implement the CakeEventListener interface and provide a public implementedEvents() method, which returns the names of the exposed events with their respective methods to process the event.

If you have significant processing logic in your event listeners for a live service, consider using a job queue. Refer to the Event stacking recipe later in this chapter.

In this recipe, we identified some e-mail sending logic in one of our models as a candidate to use events. Decoupling the e-mail processing logic from the model itself allows us to switch the event processing implementation in the future to...