~/talk

PSR-14: A major PHP Event

Talkat Dutch PHP Conference 2019 · 2019-06-06..06-08· [php, open-source]
slides:none on file

Standardizes event dispatching around three interfaces — EventDispatcher, ListenerProvider and optional StoppableEvent — and ships a reference implementation called sucio. Providers map events to callables (type-based, priority, compiled or delegating) while dispatchers only invoke listeners, enabling mix-and-match across frameworks; Symfony 4.3 and Laminas/Typo3/Yii integrations exist. Examples include a voter-style access-control event object (allow/deny and built-in stop logic), compiled provider performance paths, and deferred listeners queued via AMQP requiring serializable events.

AI-written summary · about

  1. 0:00Introduction
  2. 0:42What is an event
  3. 1:46Direct observer vs mediated observer
  4. 3:15Event Dispatcher
  5. 6:38Which one should you use
  6. 7:41PHP Figma Framework Interoperability Group
  7. 8:58Goals for PSR14
  8. 10:35Use Cases
  9. 13:11The Spec
  10. 14:15How to use it
  11. 15:25Basic dispatcher
  12. 16:47Providers
  13. 18:52Listener Providers
  14. 19:46Sucio
  15. 21:10Register Services
  16. 21:31Subscriber Classes
  17. 22:29Compiled Containers
  18. 23:19Cart
  19. 24:00Frameworks
  20. 25:06Modulating an Event
  21. 26:09Access Control
  22. 26:53The Event
  23. 29:09Access Check
  24. 30:36Custom Provider
  25. 31:45Aggregate Provider
  26. 32:24Delegate Provider
  27. 33:12Default Provider
  28. 34:19Deferred Events
  29. 37:22Register the Listener
  30. 38:01Service Listener
  31. 38:40Lazy Listener
  32. 39:51Get Listener
  33. 40:18Queue Runner
  34. 41:13Summary
  35. 42:45Further reading
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.