Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Dsn Laravel Package

enqueue/dsn

Parse and work with Enqueue DSNs (connection strings) for message queue transports. Lightweight PHP utility to read DSN options and parameters, used across the Enqueue ecosystem. MIT licensed.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Decoupling messaging infrastructure: Enables abstracting away queue/broker-specific DSN (Data Source Name) parsing logic, allowing seamless integration with multiple backends (RabbitMQ, AWS SQS, Redis, etc.) without vendor lock-in.
  • Roadmap for event-driven architecture: Facilitates adoption of async processing, job queues, or event sourcing by standardizing DSN parsing—critical for scaling microservices or high-throughput systems.
  • Build vs. buy: Avoids reinventing DSN parsing wheel; leverages battle-tested PHP library (part of the php-enqueue ecosystem) to reduce dev time and technical debt.
  • Use cases:
    • Multi-broker support: Switch between queue backends (e.g., RabbitMQ for dev, AWS SQS for prod) via config changes.
    • CI/CD pipelines: Validate DSN formats early in deployment workflows.
    • Admin dashboards: Parse and display DSN configurations in a user-friendly way.
    • Legacy system modernization: Gradually introduce async queues while maintaining compatibility with existing DSN-based configs.

When to Consider This Package

  • Adopt if:
    • Your PHP stack uses php-enqueue or plans to integrate with Enqueue (a PHP messaging library).
    • You need to parse, validate, or generate DSNs for queue brokers (e.g., amqp://user:pass@host:port/vhost).
    • Your team prioritizes maintainability over custom parsing logic (last updated in 2018, but stable for core use cases).
    • You’re building a queue-agnostic system where DSN flexibility is critical.
  • Look elsewhere if:
    • You’re not using PHP/Enqueue—this is niche to that ecosystem.
    • You need active maintenance (e.g., support for new DSN formats like Kafka or Pulsar).
    • Your DSN requirements are extremely complex (e.g., custom broker-specific extensions).
    • You prefer modern alternatives like Laravel’s built-in queue system (which handles DSNs internally).

How to Pitch It (Stakeholders)

For Executives: "This lightweight PHP library lets us standardize how we handle queue connections across environments—dev, staging, production—without writing custom parsing logic. By adopting enqueue/dsn, we reduce integration risks when switching queue providers (e.g., from RabbitMQ to AWS SQS) and future-proof our async infrastructure. It’s a low-risk, high-reward move to simplify our messaging layer, with minimal dev overhead."

For Engineering: *"The enqueue/dsn package gives us a robust, MIT-licensed way to parse and validate DSNs for any queue broker supported by php-enqueue. Key benefits:

  • Consistency: One library for all DSN needs, reducing bugs from ad-hoc parsing.
  • Flexibility: Works with RabbitMQ, Redis, AWS SQS, etc.—just swap the DSN in config.
  • Integration: Plays nicely with Enqueue’s transport layer for async jobs/events.
  • Maintenance: Lightweight (~100 LOC) and stable (last release 2018, but no breaking changes expected).

Tradeoff: It’s PHP-only and not actively maintained, but it’s a drop-in solution for our existing stack. If we hit limits, we can extend it or migrate to a newer tool later."*

For Developers: *"Need to parse amqp://user:pass@host:5672/vhost? Or validate a Redis DSN like redis://:[email protected]:6379/0? enqueue/dsn handles it in 2 lines:

use Enqueue\Dsn\ParsedDsn;
$dsn = ParsedDsn::parse('amqp://user:pass@host:5672/vhost');
echo $dsn->getHost(); // 'host'

No regex nightmares, no edge-case headaches. Just plug it into your Enqueue setup or use it standalone for DSN validation."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
calmfox/watch-sylius
damienfern/grpc-symfony-bundle
atoolo/index-bundle
atoolo/genai-bundle
coprotoai/laravel-ticket
davidjln/llm-carbon-bundle
cryonighter/valid-request-bundle
coolms/taxonomy-bundle
coolms/field-bundle
articulate-orm/symfony
aaix/laravel-tall-architect
ephoto/akeneo-connector
emmanuelballery/eb-plantumlbundle
emielburgman/symfony-visitor-beacon
emielburgman/symfony-visit-storage
emielburgman/symfony-security-headers
emielburgman/symfony-log-viewer
emarref/xdebug-bundle
emarref/pubnub-bundle
elriseio/finance-money-bundle