Všetky balíky
QR for Laravel
Vlastné payloady
QR kódom sa môže stať akýkoľvek obsah. Implementujte RoundlyConsulting\Qr\Contracts\Payload a objekt odovzdajte do Qr::make():
use Illuminate\Contracts\Translation\Translator;
use RoundlyConsulting\Qr\Contracts\Payload;
use RoundlyConsulting\Qr\DataTransferObjects\PayloadRequirements;
use RoundlyConsulting\Qr\Enums\{ErrorCorrection, Sensitivity};
final readonly class TicketPayload implements Payload
{
public function __construct(private string $code) {}
public function toQrString(): string { return 'TICKET:'.$this->code; }
public function requirements(): PayloadRequirements { return new PayloadRequirements(errorCorrection: ErrorCorrection::Quartile); }
public function sensitivity(): Sensitivity { return Sensitivity::Personal; }
public function description(Translator $translator): ?string { return 'Event ticket'; }
}
Qr::make(new TicketPayload('A-17'))->svg();- toQrString() — presné bajty na zakódovanie.
- requirements() — požiadavky payloadu na kódovanie (úroveň, maximálna verzia, segmentácia, ECI, zvyšovanie) a ktoré nastavenia sú uzamknuté.
- sensitivity() — Public, Personal alebo Secret; riadi memoizáciu, cache a HTTP hlavičky.
- description() — prístupný text <desc>; nikdy doň nevkladajte tajomstvá ani osobné údaje.
Požiadavky payloadu
new PayloadRequirements( // returned by Payload::requirements()
errorCorrection: null, maxVersion: null, segmentation: null, eci: null,
boostErrorCorrection: null, locked: [PayloadRequirements::ECI],
); // locks(string $option): bool; constants ERROR_CORRECTION, ECI,
// SEGMENTATION, BOOST_ERROR_CORRECTION, SENSITIVITYNastavenia uvedené v locked vyhodia InvalidOptionException, ak ich volajúci prepíše inou hodnotou; maxVersion obmedzí akýkoľvek rozsah verzií, ktorý volajúci požaduje.
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 kryptomienOdoslaní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.