![]() 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/vendor/magento/framework/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Event object and dispatcher * * @author Magento Core Team <[email protected]> */ namespace Magento\Framework; /** * @api * @since 100.0.2 */ class Event extends \Magento\Framework\DataObject { /** * Observers collection * * @var \Magento\Framework\Event\Observer\Collection */ protected $_observers; /** * Constructor * * Initializes observers collection * * @param array $data */ public function __construct(array $data = []) { $this->_observers = new \Magento\Framework\Event\Observer\Collection(); parent::__construct($data); } /** * Returns all the registered observers for the event * * @return \Magento\Framework\Event\Observer\Collection */ public function getObservers() { return $this->_observers; } /** * Register an observer for the event * * @param \Magento\Framework\Event\Observer $observer * @return $this */ public function addObserver(\Magento\Framework\Event\Observer $observer) { $this->getObservers()->addObserver($observer); return $this; } /** * Removes an observer by its name * * @param string $observerName * @return $this */ public function removeObserverByName($observerName) { $this->getObservers()->removeObserverByName($observerName); return $this; } /** * Dispatches the event to registered observers * * @return $this */ public function dispatch() { $this->getObservers()->dispatch($this); return $this; } /** * Retrieve event name * * @return string */ public function getName() { return $this->_data['name'] ?? null; } /** * @param string $data * @return $this */ public function setName($data) { $this->_data['name'] = $data; return $this; } /** * @return mixed */ public function getBlock() { return $this->_getData('block'); } }