18
ZF2 Events Bart McLeod

ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

ZF2 EventsBart McLeod

Page 2: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Publish-subscribeAlso known as: Observer

Image credits: The 23 Gang of Four Design Patterns on flickr

Page 3: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Publish-subscribeAs applied in ZF2

Page 4: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Why care?

Page 5: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Cuz it's flexible( and fun too )

Page 6: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

ZendSkeletonApplicationis our starting point

Page 7: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Composeris a decency manager for php

Page 8: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

The result!spoiler: mod_rewrite

Page 9: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Better

Page 10: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Events

Built-in

Custom

Page 11: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

MVC eventsdefined in Zend\Mvc\MvcEvent

Page 12: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Time for action

Log a dispatch error

We use the default 'Application' module

and a filesystem log (text file)

http://zfevents.dev/hello

Page 13: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

SharedEventManager vs

EventManager

You might want to read: http://www.michaelgallego.fr/blog/2013/05/12/understanding-the-zend-framework-2-event-manager/

Page 14: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Controlling access

Install ZfcUser

Deny access to Restricted module using the dispatch MVC event

http://zfevents.dev/restricted

Reminder: password is vagrant

Page 15: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

A Custom event

Trigger the 'log' event

Handle the 'log' event by writing a log message

Page 16: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

RecapZF2 events are both triggered and handled server side

ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern

There are many built-in events

MVC Events are the most common of the built-in events

You can trigger and handle your own events

Page 17: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

We did not coverEvent short-circuiting

Listener aggregates

EventManagerAwareInterface

You might want to read http://www.michaelgallego.fr/blog/2013/05/12/understanding-the-zend-framework-2-event-manager/

Page 18: ZF2 Events - spaceweb.nl · ZF2 events are both triggered and handled server side ZF2 events implement the Observer or PubSub (Publish-subscribe) pattern There are many built-in events

Thank you!

Bart McLeod

@bartmcleod

http://spaceweb.nl

[email protected]

http://dwa.io