SymfonyEventDispatcher.php 987 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * This file is part of Hyperf.
  5. *
  6. * @link https://www.hyperf.io
  7. * @document https://hyperf.wiki
  8. * @contact group@hyperf.io
  9. * @license https://github.com/hyperf/hyperf/blob/master/LICENSE
  10. */
  11. namespace Hyperf\Framework;
  12. use Psr\EventDispatcher\EventDispatcherInterface as PsrDispatcherInterface;
  13. use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
  14. if (interface_exists(EventDispatcherInterface::class)) {
  15. /**
  16. * @internal
  17. */
  18. class SymfonyEventDispatcher implements EventDispatcherInterface
  19. {
  20. /**
  21. * @var PsrDispatcherInterface
  22. */
  23. private $psrDispatcher;
  24. public function __construct(PsrDispatcherInterface $psrDispatcher)
  25. {
  26. $this->psrDispatcher = $psrDispatcher;
  27. }
  28. public function dispatch(object $event, ?string $eventName = null): object
  29. {
  30. return $this->psrDispatcher->dispatch($event);
  31. }
  32. }
  33. }