Chyby a preklady
Každá výnimka dedí z abstraktnej QrException (RuntimeException) a vystavuje stabilný kľúč $reason a pole $field, ktorého sa týka. Správy sú pevné anglické hlásenia pre vývojárov bez hodnôt payloadu; používateľom zobrazte preložené hlásenie:
use RoundlyConsulting\Qr\Exceptions\QrException;
try {
$svg = Qr::wifi($ssid, $password)->svg();
} catch (QrException $e) {
$e->reason; // stable key, e.g. 'too_short'
$e->field; // e.g. 'password' — never the value
return back()->withErrors([
'wifi' => __('qr::qr.errors.'.$e->reason, ['field' => $e->field]),
]);
}Hierarchia a kľúče dôvodov
QrException (abstract)
├── DataTooLongException data_too_long, input_too_long
├── InvalidOptionException version_range, mask, size, margin, radius, attribute, error_correction,
│ │ locked_by_payload, out_of_bounds, eci, render_as
│ └── InvalidColorException color
├── InvalidQrConfigException invalid_config ($field = config key)
├── UnencodableCharacterException unencodable_character
├── InvalidPayloadException required, too_long, too_short, invalid_format, out_of_range,
│ │ unsupported_scheme, mutually_exclusive, unsupported_in_version, unrepresentable
│ ├── InvalidIbanException iban_format, iban_country, iban_length, iban_checksum
│ ├── InvalidBicException bic_format, bic_country
│ ├── InvalidCreditorReferenceException creditor_reference_format, creditor_reference_checksum
│ ├── UnsupportedCurrencyException currency_not_eur, currency_not_iso, currency_mismatch
│ └── PaymentPayloadTooLongException payload_too_long
├── BySquareDecodeException bysquare_base32hex, _header, _length, _lzma, _crc, _fields, _value
│ └── CorruptLzmaStreamException bysquare_lzma
└── MatrixDecodeException decode_size, decode_format, decode_version, decode_error_correction, decode_segmentDataTooLongException navyše nesie neededBits, capacityBits, minVersion, maxVersion a errorCorrection; InvalidPayloadException nesie $payloadType.
Preklady
Súbor prekladov je v namespace qr — publikujte ho tagom qr-translations a upravte alebo preložte texty:
- qr::qr.title — predvolený prístupný titulok („QR code“).
- qr::qr.descriptions.{text, url, email, phone, sms, wifi, vcard, geo, otpauth, epc, bysquare} — predvolený <desc> podľa typu payloadu; url používa :host.
- qr::qr.validation.{iban, iban_eea, bic, creditor_reference, fits_in_qr_code} — hlásenia pravidiel.
- qr::qr.errors.<reason> — jedno hlásenie pre používateľa na každý kľúč dôvodu výnimky.
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.