/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/internal/Magento/Framework/MessageQueue/Config/Publisher/ConfigReaderPlugin.php
70 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 17:47
22 окт 2025, 17:47
1b769b7
Код
Авторство
О чём код?
<?php /** * Copyright 2018 Adobe * All Rights Reserved. */ namespace Magento\Framework\MessageQueue\Config\Publisher; use Magento\Framework\MessageQueue\ConfigInterface; use Magento\Framework\MessageQueue\Publisher\Config\CompositeReader as PublisherConfigCompositeReader; /** * Plugin which provides access to publishers declared in queue config using publisher config interface. * * @deprecated 103.0.0 */ class ConfigReaderPlugin { /** * @var ConfigInterface */ private $config; /** * @param ConfigInterface $config */ public function __construct(ConfigInterface $config) { $this->config = $config; } /** * Read values from queue config and make them available via publisher config * * @param PublisherConfigCompositeReader $subject * @param array $result * @param string|null $scope * @return array * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterRead(PublisherConfigCompositeReader $subject, $result, $scope = null) { return array_merge($this->getPublisherConfigDataFromQueueConfig(), $result); } /** * Get data from queue config in format compatible with publisher config data internal structure * * @return array */ private function getPublisherConfigDataFromQueueConfig() { $result = []; foreach ($this->config->getBinds() as $bindingConfig) { $topic = $bindingConfig['topic']; $result[$topic] = [ 'topic' => $topic, 'connection' => [ 'name' => $this->config->getConnectionByTopic($topic), 'exchange' => $bindingConfig['exchange'], 'disabled' => false ], 'disabled' => false ]; } return $result; } }