- Is sigbits/php-amqp-client-bundle a Laravel package?
- No. It is a Symfony bundle that integrates the sigbits/php-amqp client into Symfony's service container, configuration, and console commands. It does not ship Laravel service providers, facades, queue drivers, or config conventions. Laravel teams should treat it as a Symfony-specific integration rather than a native package.
- Can I use this Symfony bundle in a Laravel application?
- Only with caveats. Installing the bundle pulls Symfony bundle wiring that is not used by Laravel and does not create a Laravel queue integration. The practical path is to use sigbits/php-amqp-client:^1.4 directly behind Laravel services and a service provider. If you must use the bundle, isolate it behind an adapter and document the non-Laravel surface.
- Should Laravel developers use sigbits/php-amqp-client-bundle or sigbits/php-amqp-client directly?
- Prefer sigbits/php-amqp-client directly for Laravel. The bundle is useful when you want YAML-configured Symfony services for connections, exchanges, queues, producers, and consumers. In Laravel, wrap the client in application services and manage configuration through Laravel config. The bundle only makes sense if Symfony components are already present or a specific bundle feature is indispensable.
- What PHP and Symfony versions does v0.7.0 require?
- The v0.7.0 release lists PHP ^8.3 and Symfony ^6.4 || ^7.4 || ^8.1 constraints. It also raises the AMQP client baseline to ^1.4. Confirm your Laravel version supports PHP 8.3 and run a Composer conflict check before adding any dependency. Validate Symfony constraints only if you actually install the bundle.
- How do I install and configure sigbits/php-amqp-client-bundle?
- Install it with Composer, enable the bundle in your Symfony application, and declare connections, exchanges, and queues in the bundle YAML configuration. The bundle then wires producers and consumers as injectable services and exposes console commands for consuming and managing queues. Exact options depend on your topology and the v0.7.0 API surface, so check the repository README before production use.
- How do producers and consumers work in this bundle?
- You define AMQP connections, exchanges, and queues in configuration, and the bundle exposes producer and consumer services through Symfony's service container. Producers publish messages; consumers are handled through injectable services and console commands. v0.7.0 adds OpenReceiverEndpoint::deliveries() and TerminusFactoryInterface::modified(), which affect receiver iteration and delivery-state handling. In Laravel you would need to recreate that service wiring yourself.
- How does this compare with Laravel's queue system for RabbitMQ?
- It is lower-level and does not plug into Laravel's queue workers, jobs, retries, failed_jobs, or queue events. Laravel queue drivers and dedicated Laravel RabbitMQ packages provide framework-native job dispatch and worker semantics. This bundle focuses on Symfony service configuration and direct AMQP publishing and consuming. Choose it only for custom AMQP topology needs, not as a drop-in Laravel queue replacement.
- What production concerns should I test before adopting this bundle in Laravel?
- Test broker outages, connection loss, reconnect behavior, delivery iteration errors, backpressure, and parallel consumer safety. Add retry and backoff, dead-letter handling, health checks, and observability around any consumer. Confirm PHP extensions, TLS and connection security, broker version, and acknowledgement behavior. Because the package is pre-1.0, also plan for API and dependency upgrades.
- What broker versions and ack/nack/retry semantics does sigbits/php-amqp-client-bundle support?
- The provided release context does not document specific RabbitMQ broker versions or built-in ack, nack, and retry semantics. The bundle and underlying client expose low-level AMQP behavior, so your application remains responsible for acknowledgement strategy, retries, and dead-letter routing. Verify against your target broker and build explicit failure tests before relying on it in production.
- What are the alternatives for RabbitMQ in Laravel?
- Laravel-native queue drivers and Laravel-specific RabbitMQ packages are usually the better fit because they integrate workers, jobs, retries, and failed-job handling. If you need direct AMQP control, use sigbits/php-amqp-client:^1.4 or another maintained PHP AMQP client behind a Laravel service provider. Avoid adopting the Symfony bundle unless you specifically need its Symfony configuration and console-command features.