Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ExchangeInstaller.php
Go to the documentation of this file.
1 <?php
7 
9 
14 {
15  use ArgumentProcessor;
16 
20  private $bindingInstaller;
21 
27  public function __construct(BindingInstallerInterface $bindingInstaller)
28  {
29  $this->bindingInstaller = $bindingInstaller;
30  }
31 
39  public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, ExchangeConfigItemInterface $exchange)
40  {
41  $channel->exchange_declare(
42  $exchange->getName(),
43  $exchange->getType(),
44  false,
45  $exchange->isDurable(),
46  $exchange->isAutoDelete(),
47  $exchange->isInternal(),
48  false,
49  $this->processArguments($exchange->getArguments())
50  );
51 
52  foreach ($exchange->getBindings() as $binding) {
53  $this->bindingInstaller->install($channel, $binding, $exchange->getName());
54  }
55  }
56 }
__construct(BindingInstallerInterface $bindingInstaller)
install(\PhpAmqpLib\Channel\AMQPChannel $channel, ExchangeConfigItemInterface $exchange)