Test Failed
Pull Request — master (#39)
by Aleksandr
05:36
created

Command/DeclareCommand.php (1 issue)

Labels
Severity
1
<?php
2
3
namespace OldSound\RabbitMqBundle\Command;
4
5
use OldSound\RabbitMqBundle\Declarations\DeclarationsRegistry;
6
use OldSound\RabbitMqBundle\Declarations\Declarator;
7
use OldSound\RabbitMqBundle\RabbitMq\DynamicConsumer;
8
use Symfony\Component\Console\Command\Command;
9
use Symfony\Component\Console\Exception\InvalidOptionException;
10
use Symfony\Component\Console\Input\InputArgument;
11
use Symfony\Component\Console\Input\InputInterface;
12
use Symfony\Component\Console\Input\InputOption;
13
use Symfony\Component\Console\Output\OutputInterface;
14
use Symfony\Component\DependencyInjection\ContainerAwareTrait;
15
16
class DeclareCommand extends Command
17
{
18
    use ContainerAwareTrait;
19
20
    public function __construct(
21
        DeclarationsRegistry $declarationsRegistry
22
    ) {
23
        parent::__construct();
24
        $this->declarationsRegistry = $declarationsRegistry;
25
    }
26
27
    protected function configure()
28
    {
29
        $this
30
            ->setName('rabbitmq:declare')
31
            ->addArgument('connection', InputArgument::OPTIONAL, 'Rabbitmq connection name', 'default')
32
            ->setDescription('Sets up the Rabbit MQ fabric')
33
            ->addOption('debug', 'd', InputOption::VALUE_NONE, 'Enable Debugging')
34
        ;
35
    }
36
37
    protected function execute(InputInterface $input, OutputInterface $output)
38
    {
39
        if (defined('AMQP_DEBUG') === false) {
40
            define('AMQP_DEBUG', (bool) $input->getOption('debug'));
41
        }
42
43
        $connection = $input->getArgument('connection');
44
        $channelAlias = sprintf('old_sound_rabbit_mq.channel.%s', $connection);
45
        if(!$this->container->has($channelAlias)) {
46
            throw new InvalidOptionException('Connection is not exist');
47
        };
48
49
        $channel = $this->container->get($channelAlias);
50
51
        // TODO $output->writeln('Setting up the Rabbit MQ fabric');
52
53
        $producers = [];
54
        $consumers = [];
55
        $exchanges = [];
56
        foreach ($producers as $producer) {
57
            // TODO $exchanges[] = $producer->exchange;
58
        }
59
60
        foreach ($consumers as $consumer) {
61
            // TODO $exchanges[] = $producer->exchange;
62
            //$bindings[] = $producer->exchange;
63
            //$queues[] = $producer->exchange;
64
        }
65
        
66
        $this->declarationsRegistry->exchanges
67
68
        $declarator = new Declarator($channel);
0 ignored issues
show
A parse error occurred: Syntax error, unexpected T_VARIABLE on line 68 at column 8
Loading history...
69
        // $declarator->declareExchanges($exchanges);
70
        foreach ($exchanges as $exchange) {
71
            $declarator->declareForExchange($exchange);
72
        }
73
74
        return 0;
75
76
    }
77
}
78