Zend Framework team •At Zend for 5 years •Before that TippingPoint/3Com Programming PHP for 13+ years Live in New Orleans, LA. •Lived in Austin, Tx for 5 years 2 Wednesday, April 10, 13
5.4 in some places, not required) •Embrace multiple programming paradigms AOP Event driven programming •More SOLID http://en.wikipedia.org/wiki/SOLID_(object-oriented_design) More interfaces, more possibility for extension Practice dependency injection •More Agile and open! No more CLA Code on github.com 5 Wednesday, April 10, 13
•“How do I create re-usable components/modules for my team/public consumption?” •“I’m just generally curious about the architecture.” 11 Wednesday, April 10, 13
based on an event model Zend\ServiceManager for members in this workflow to consume and provide instances of objects Zend\ModuleManager to encapsulate members together 12 Wednesday, April 10, 13
object. •A Listener is a callback that accepts an Event and acts on it. •An Event Manager is an object that aggregates listeners for named events, and which triggers events. 15 Wednesday, April 10, 13
service managers! You can now inject dependencies into helpers, plugins, etc! •Services are shared by default; you can disable this selectively •Manager "peering" is available 31 Wednesday, April 10, 13
•loadModule: triggered once we have a Module class instance •loadModules.post: to allow listeners to act on aggregated information from all Modules 37 Wednesday, April 10, 13
•ServiceListener: aggregate `ServiceManager` (and plugin manager) !configurations from Module classes and/or module configuration •OnBootstrapListener: register a Module as a "bootstrap" event listener !more ... including any you want to write 38 Wednesday, April 10, 13
a set of parameters that the dispatch listener will use to marshall a controller) •Route definitions are a tree structure (i.e., routes can have child routes!) Zend\Mvc\Router implementation •(See Ben Scholzens Zendcon Router Slides) 44 Wednesday, April 10, 13
ZfcUser (ZF Commons) PhlyRestfully (Matthews Rest module) DoctrineModule ScnSocialAuth •Download or use composer to put in vendor/ 52 Wednesday, April 10, 13