![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/framework/Magento/TestFramework/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Basic implementation of the message exchange mechanism known as pub/sub messaging pattern. * Terminology deviations: * event - message * event manager - message publisher * fire event - publish message * event subscriber - message subscriber */ namespace Magento\TestFramework; class EventManager { /** * Registered event subscribers * * @var array */ protected $_subscribers = []; /** * Constructor * * @param array $subscribers Subscriber instances */ public function __construct(array $subscribers) { $this->_subscribers = $subscribers; } /** * Notify registered subscribers, which are interested in event * * @param string $eventName * @param array $parameters Parameters to be passed to each subscriber * @param bool $reverseOrder Whether subscribers should be notified in reverse order */ public function fireEvent($eventName, array $parameters = [], $reverseOrder = false) { $subscribers = $reverseOrder ? array_reverse($this->_subscribers) : $this->_subscribers; foreach ($subscribers as $subscriberInstance) { $callback = [$subscriberInstance, $eventName]; if (is_callable($callback)) { call_user_func_array($callback, $parameters); } } } }