Есть ли driver sync для RabbitMQ?

В Symfony нет встроенной поддержки driver sync для RabbitMQ.

Однако, вы можете использовать библиотеку php-amqplib, которая предоставляет адаптер RabbitMQ для PHP. Для начала установите эту библиотеку с помощью Composer командой:

composer require php-amqplib/php-amqplib

Затем в Symfony вы можете создать сервис, который будет использовать библиотеку php-amqplib для создания соединения и отправки сообщений в RabbitMQ. Например, вы можете создать сервис RabbitMQService, который будет выглядеть следующим образом:

<?php

namespace AppService;

use PhpAmqpLibConnectionAMQPStreamConnection;
use PhpAmqpLibMessageAMQPMessage;

class RabbitMQService
{
    private $connection;

    public function __construct(string $host, int $port, string $user, string $password)
    {
        $this->connection = new AMQPStreamConnection($host, $port, $user, $password);
    }

    public function sendMessage(string $exchange, string $routingKey, string $message)
    {
        $channel = $this->connection->channel();

        $channel->exchange_declare($exchange, 'direct', false, true, false);
        $channel->queue_declare($routingKey, false, true, false, false);
        $channel->queue_bind($routingKey, $exchange);

        $msg = new AMQPMessage($message);

        $channel->basic_publish($msg, $exchange, $routingKey);
        
        $channel->close();
    }
}

В данном примере сервис принимает параметры host, port, user и password для соединения с RabbitMQ. Метод sendMessage отправляет сообщение в заданный exchange и routingKey.

Теперь, чтобы использовать этот сервис, вы можете внедрить его в другой сервис или контроллер Symfony и вызвать метод sendMessage, передавая нужные параметры.

<?php

namespace AppService;

class MyService
{
    private $rabbitMQService;

    public function __construct(RabbitMQService $rabbitMQService)
    {
        $this->rabbitMQService = $rabbitMQService;
    }

    public function doSomething()
    {
        // ...
        $this->rabbitMQService->sendMessage('my_exchange', 'my_routing_key', 'Hello, RabbitMQ!');
        // ...
    }
}

Таким образом, вы можете использовать библиотеку php-amqplib для работы с RabbitMQ в Symfony.