micro-module/null
A lightweight Laravel/PHP micro-module that provides a safe null/no-op implementation. Use it as a placeholder or null-object substitute to simplify conditionals, avoid null checks, and keep module behavior predictable.
QueueInterface implementation for the PSR queue draft. Its only real job is to absorb push() calls without side effects — a job our test suite already solves with Queue::fake() and PHPUnit mocks.MessageBus port with a production adapter and a null adapter). That is an architecture decision we would make first; the package is a downstream consequence.Consider it only when all of the following hold:
Illuminate\Contracts\Queue\Factory. Laravel's queue system does not implement PSR queue, so in a standard Laravel app this package has no natural insertion point.Look elsewhere (or just don't) when:
null queue driver for "pretend to dispatch," the sync driver for inline execution, and Queue::fake() / Bus::fake() for assertions. These are first-party, documented, and covered by our existing test conventions.Queue::fake() + Queue::assertPushed() is strictly more capable than a null sink.sync or a database queue with SQLite) gives us failure modes; a null queue gives us silence and will happily hide dropped jobs.Adoption cost is low in absolute terms, but so is the benefit; the honest verdict is build the five-line null adapter in-repo if the need appears, and skip the dependency.
To executives: This is a tiny test utility that makes a queue silently discard messages. We are not recommending adoption — it doesn't reduce engineering time, doesn't de-risk anything, and adds a third-party dependency for behavior Laravel already provides for free. No budget, no roadmap impact. Flagging it as "reviewed and declined" so the evaluation isn't repeated.
To engineering: If you want a no-op queue, use Laravel's null driver or Queue::fake(). Reach for this package only if we ever commit to PSR queue as an internal interface — and even then, write the stub ourselves rather than depending on a zero-star, single-class package whose entire content we could own in a few lines. The real takeaway is architectural: keep dispatching behind our own port so swapping in a null or synchronous adapter stays trivial and vendor-neutral.
How can I help you explore Laravel packages today?