Book Image

CakePHP 2 Application Cookbook

Book Image

CakePHP 2 Application Cookbook

Overview of this book

Table of Contents (14 chapters)
13
Index

Event-driven process


Events in CakePHP can also be used to define complex workflows in your application. In this recipe, we'll process a package, which was just created, to generate a PDF order and send the resulting file by e-mail (attachment) for further manual processing.

We'll chain the execution of two listeners for a specific event. The partial results of each listener will be stacked in our event, thus allowing listeners to use partial results from listeners that were executed earlier in the event manager queue.

Note that as discussed earlier, sending e-mails and generating PDF files are slow operations, so you should consider moving this logic to a job queue, instead of running them while the user waits.

Getting ready

For this recipe, we'll need to set up the CakePDF plugin and the related templates to generate a PDF file based on a Package model. We'll use git modules for the setup, but if you're not using git, you can simply download the ZIP file using the following command and place...