Weave 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

Phpqrcode Bundle Laravel Package

jonasarts/phpqrcode-bundle

Symfony bundle that integrates the PHP QR Code library, making it easy to generate QR codes from your application and templates. It provides a convenient wrapper around QR generation, so you can add scannable codes for URLs, contact details, or other content with minimal setup and configuration.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature scoping for QR-dependent surfaces. This package is the cheapest possible path when a spec calls for QR generation — event tickets with scannable codes, invoice/payment links, 2FA enrollment handoff, referral or voucher codes, shareable deep links, warehouse/bin labels, packaging inserts. Recognizing it as a thin wrapper (not a QR platform) keeps those features scoped as utility output rather than a mini-product with its own roadmap.
  • Build vs. buy vs. wrap. The package does essentially nothing beyond binding an existing PHP QR Code class into a Symfony service container. That makes it a useful reference point in the build/buy conversation: if the requirement is "render a QR PNG from a string," you are not buying a capability — you are buying roughly fifty lines of glue, and the meaningful logic lives upstream. Most teams should own that glue behind their own interface.
  • Platform-fit decision (the single most decision-relevant fact). Despite being catalogued here as a "Laravel/PHP package," it is a Symfony bundle — Symfony DI service definitions and a Bundle subclass, no Laravel service provider, no facade, no publishable config/qrcode.php. For a Laravel roadmap this is effectively a no unless you happen to run a hybrid or legacy Symfony service. Everything else in this assessment is secondary to that.
  • Dependency-risk triage. Six stars, zero dependents, low composite score (0.12), and an opportunity score of 28.9 are the signal: this is an unmaintained-by-popularity micro-package with a bus factor of one and no downstream canaries — you would be the canary. It belongs in the "acceptable inside an isolated, low-blast-radius internal tool" bucket, not in a customer-facing, long-lived product surface where we would inherit the maintenance.
  • Roadmap timing. If QR output is a near-term experiment (validate demand, ship in a week), a thin wrapper is rational. If QR is becoming a platform concern — branding, logo overlays, styled or rounded modules, error-correction tuning, batch throughput, scan analytics, vector output — the roadmap item is "standardize on a maintained encoder," and this package is a stopgap we will migrate off. Adopting the maintained library now costs about the same as adopting the wrapper now and migrating later.
  • Supply-chain and licensing posture. The bundle is MIT, but the upstream PHP QR Code library is LGPL-3.0. That combination is worth an explicit review before it lands in anything distributed or customer-shipped, because it will show up as an audit finding later.

When to Consider This Package

Consider it when:

  • You already run a Symfony application (4.x/5.x era, or a legacy app where bundle-style registration is the path of least resistance) and need QR output today — in that context the bundle is plausibly the lowest-friction option.
  • The requirement is genuinely minimal: encode a string, get a PNG or data URI, write it to storage or stream it. No styling, no logo embedding, no Micro QR, no per-scan metadata, no vector fidelity.
  • The usage is internal or low-risk — admin tooling, ops labels, test fixtures, a proof-of-concept, an air-gapped internal service — where a stale dependency is an inconvenience rather than an incident.
  • You can pin and vendor the dependency, keep it behind an interface (e.g. a domain-level QrCodeGenerator contract), and swap the implementation later without touching call sites.
  • Your distribution model tolerates the license stack (MIT wrapper, LGPL-3.0 upstream) and a spike on your actual PHP runtime confirms it installs and runs without deprecations or fatals.

Look elsewhere when:

  • You are building on Laravel — this is the wrong ecosystem glue. Don't pay the integration tax for a wrapper that doesn't target your framework; a Laravel-native or framework-agnostic library is the correct default.
  • You need active maintenance — recent commits, security responsiveness, a versioning policy, an issue tracker with humans in it. Six stars and zero dependents isn't evidence of poor quality either way, but it is evidence of no community backstop.
  • You need modern QR features: branded/styled output, embedded logos, configurable error-correction and quiet zones, bulk/batch generation, SVG fidelity, or deterministic rendering across PHP versions. The wrapped library is a mature-but-old codebase.
  • QR generation is on a growth path in your product. The migration cost is one adapter class later, but the review, compliance, and PHP-upgrade exposure accrue every quarter you carry an abandoned dependency.
  • You have compliance or supply-chain review in place — an unpinned, low-signal transitive dependency is a recurring audit finding.

How to Pitch It (Stakeholders)

To executives (one paragraph): We evaluated a small open-source package for adding QR code generation. It works, it's MIT-licensed, and it's essentially free — but it's a very thin wrapper around an older QR library, it has almost no adoption, and critically it targets Symfony rather than Laravel, which is our stack. Recommendation: do not adopt it as a platform dependency. Treat it as a reference implementation only. If QR output is a near-term feature need, we can implement the equivalent in a short engineering task against a maintained library, keeping the capability behind an interface so we're not locked in either way. Net incremental cost: low. Net avoided risk: an unmaintained, off-stack dependency in a customer-facing path.

To engineering: This is a Symfony bundle binding PHP QR Code into the container — no Laravel service provider, no facade, no publishable config, and the underlying encoder is procedural, un-namespaced (QRcode, QRencode, QRimage globals), GD-dependent, and effectively dormant upstream. It is not a fit for our framework, and it is a wrapper rather than a library: the meaningful logic lives upstream. If a team wants QR output fast, the right move is a maintained, framework-agnostic generator (e.g. bacon/bacon-qr-code via simplesoftwareio/simple-qrcode, or chillerlan/php-qrcode for zero framework coupling) behind our own QrCodeGenerator interface, with a thin adapter — same integration effort, better maintenance posture, no platform mismatch. Validate by contract-testing scannability rather than pixel equality, so the adapter stays swappable.

Ask: Approve the interface-first approach and a short spike against a maintained library; reject this package as a direct dependency unless a Symfony service is genuinely in scope or the spike surfaces a hard constraint (byte-identical legacy output, air-gapped registry), in which case fork the encoder into our namespace behind the same interface.

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.
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle