NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
QR for Laravel

Fasáda Qr

RoundlyConsulting\Qr\Facades\Qr je odporúčaný vstupný bod (automaticky dostupný aj ako alias Qr). Metódy pre payloady vracajú nemenný builder PendingQr; svg(), matrix(), info() a fits() odpovedajú jedným volaním:

use RoundlyConsulting\Qr\DataTransferObjects\QrOptions;
use RoundlyConsulting\Qr\Enums\ErrorCorrection;
use RoundlyConsulting\Qr\Facades\Qr;

// Entry points — each returns an immutable PendingQr builder
Qr::make($stringOrPayload);                  // a raw string becomes a Text payload
Qr::text('Table 12 — scan to order');
Qr::url('https://example.com');
Qr::wifi('Clinic Guest', 'guest-password');
Qr::otpauth($setup->provisioningUri);
Qr::epc($payment);                           // unset version/charset from config
Qr::payBySquare($document);                  // unset version/deburr from config

// One-call shortcuts — no builder
$svg = Qr::svg('https://example.com', new QrOptions(size: 200));                  // Svg
$matrix = Qr::matrix('HELLO WORLD');                                              // QrMatrix
$info = Qr::info('hello', new QrOptions(errorCorrection: ErrorCorrection::High)); // EncodingInfo
$fits = Qr::fits($request->input('text'));                                        // bool

Prehľad metód

MetódaVraciaČo robí
make(string|Payload $data)PendingQrĽubovoľný payload — vlastná implementácia Payload alebo reťazec (stane sa z neho Text).
text($text)PendingQrObyčajný text; text pripomínajúci otpauth alebo Wi-Fi sa považuje za tajomstvo.
url($url, $schemes = ['http', 'https'])PendingQrOdkaz; iné schémy len vtedy, keď ich povolíte (povolená URL otpauth alebo Wi-Fi je Secret).
email($to, $subject, $body)PendingQrKód mailto:.
phone($number)PendingQrKód tel:.
sms($number, $message, SmsFormat $format)PendingQrSMSTO: alebo sms: (predvolene Smsto).
wifi($ssid, $password, WifiSecurity $security, $hidden)PendingQrPrístup k Wi-Fi (predvolene WPA) — vždy Secret.
vcard(VCard $card)PendingQrKontakt vo formáte vCard 3.0.
geo($latitude, $longitude)PendingQrPoloha geo:.
otpauth(string|Otpauth $uriOrPayload)PendingQrKód na aktiváciu 2FA — URI bez zmeny, citlivosť uzamknutá na Secret.
epc(EpcPayment $payment)PendingQrSEPA úhrada; nenastavené polia version/charset z konfigurácie.
payBySquare(PayBySquare $document)PendingQrPAY by square; nenastavené polia version/deburr z konfigurácie.
svg($data, ?QrOptions $options)SvgVykreslenie jedným volaním.
matrix($data, ?QrOptions $options)QrMatrixZakódovanie jedným volaním, bez vykreslenia.
info($data, ?QrOptions $options)EncodingInfoAko by sa dáta zakódovali — verzia, úroveň, maska, segmenty, bitový rozpočet.
fits($data, ?ErrorCorrection $level, ?int $maxVersion, ?Segmentation $segmentation)boolČi sa dáta dajú zakódovať — bez zostavenia symbolu.

Platobné payloady dostanú nenastavené polia version, charset, strictCharset alebo deburr z konfigurácie bez ohľadu na to, ktorým vstupným bodom prišli — make(), svg(), matrix(), epc() / payBySquare() alebo <x-qr-code>.

Zmestí sa to?

Qr::fits() odpovie na otázku „dá sa to zakódovať?“ bez zostavenia symbolu — dosť lacno na formulár, náhľad aj kontrolu pred zaradením do fronty. Nenastavené argumenty preberú požiadavky payloadu a potom konfiguráciu (teda nastavenia, s ktorými by sa dáta naozaj zakódovali), takže po výsledku true už nikdy nepríde DataTooLongException:

use RoundlyConsulting\Qr\Enums\{ErrorCorrection, Segmentation};

Qr::fits($request->input('text'));                          // configured level + version window
Qr::fits($text, ErrorCorrection::Medium, maxVersion: 13);   // explicit level and ceiling
Qr::fits($digits, segmentation: Segmentation::Byte);
Qr::fits($epcPayment);                                      // EPC's own cap (v13, level M) applies

Qr::url($link)->errorCorrection('H')->version(3)->fits();   // fluent: the builder's current settings

Pre vstup nad 7089 bajtov alebo nad kapacitu povoleného rozsahu verzií vráti false. maxVersion mimo 1–40 alebo prepísanie nastavenia, ktoré platobný payload uzamkol (napríklad úroveň pri EPC), vyhodí InvalidOptionException presne tak ako vykreslenie. Pravidlo FitsInQrCode je validačnou podobou tej istej kontroly — pozrite Validačné pravidlá a cast.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.