Nadelen event dispatcher en listener
Zijn er qua perfomance nadelen verbonden aan het dispatchen van een event en daar een listener(observer) aan verbinden?
PHP hulp
24/12/2024 04:25:48Wouter J
19/02/2014 19:09:34Vaak heb je meerdere listeners opgeslagen in een array. Dat betekend dat PHP een array moet doorzoeken wanneer je een event triggered, aangezien arrays niet PHP's sterkste kant is kan dat voor een klein performance nadeeltje zorgen.
Maar het weegt naar mijn mening niet op voor de voordelen. Ik gebruik eigenlijk altijd events. (zie ook mijn minimale kleine frameworkje http://github.com/WouterJ/shift-php)
Maar het weegt naar mijn mening niet op voor de voordelen. Ik gebruik eigenlijk altijd events. (zie ook mijn minimale kleine frameworkje http://github.com/WouterJ/shift-php)
Dat idee had ik ook al ;-)
Ik ben van plan om daarvoor Symfony/Component/EventDispatcher voor te gaan gebruiken.
Of kan ik beter jouw frameworkje gebruiken?
Ik ben van plan om daarvoor Symfony/Component/EventDispatcher voor te gaan gebruiken.
Of kan ik beter jouw frameworkje gebruiken?
Wouter J
19/02/2014 19:36:31Het ligt eraan wat je wilt.
Mijn framework is gebouwd om het MOVE principe: http://cirw.in/blog/time-to-move-on.html En voornamelijk gebaseerd op FlightJS: http://flightjs.github.io/ Het is behoorlijk basic.
De Symfony EventDispatcher is weer een heel stukje uitgebreider, maar eigenlijk hou ik er niet heel erg van. Ik ben meer fan van Zend's EventManager component. Deze heeft namelijk targets (wat ik ook heb), waarmee je events kunt schrijven voor een bepaalde doelgroep. Ook heeft het een globale event manager die perfect samenwerkt met een lokale event manager.
Offtopic:
En als je echt basic wilt (hoewel deze ong. hetzelfde doet als mijn dispatcher), kun je ook nog mijn Mediator in 226 characters proberen: (nog niet getest)
Mijn framework is gebouwd om het MOVE principe: http://cirw.in/blog/time-to-move-on.html En voornamelijk gebaseerd op FlightJS: http://flightjs.github.io/ Het is behoorlijk basic.
De Symfony EventDispatcher is weer een heel stukje uitgebreider, maar eigenlijk hou ik er niet heel erg van. Ik ben meer fan van Zend's EventManager component. Deze heeft namelijk targets (wat ik ook heb), waarmee je events kunt schrijven voor een bepaalde doelgroep. Ook heeft het een globale event manager die perfect samenwerkt met een lokale event manager.
Offtopic:
En als je echt basic wilt (hoewel deze ong. hetzelfde doet als mijn dispatcher), kun je ook nog mijn Mediator in 226 characters proberen: (nog niet getest)
Code (php)
Gewijzigd op 19/02/2014 19:39:55 door Wouter J