Bez fasády
Fasáda je najkratší zápis a odporúčaná voľba, nie jediná možnosť. Jej koreňom je kontrakt RoundlyConsulting\Qr\Contracts\QrFactory, zaregistrovaný ako singleton na RoundlyConsulting\Qr\QrManager (app(QrManager::class) vráti tú istú inštanciu). Ak kontrakt uvediete ako typ, dostanete identické API ako explicitnú závislosť:
use RoundlyConsulting\Qr\Contracts\QrFactory;
use RoundlyConsulting\Qr\PendingQr;
final class TableQrController
{
public function __construct(private QrFactory $qr) {}
public function __invoke(Table $table): PendingQr
{
abort_unless($this->qr->fits(route('menu', $table)), 422);
return $this->qr->url(route('menu', $table))->size(240);
}
}Každá metóda z tabuľky fasády je na kontrakte s rovnakou signatúrou, takže prechod medzi Qr::url(…) a $this->qr->url(…) nič iné nemení.
Žiadne akcie
Kódovanie QR je bezstavový, deterministický výpočet, ktorý manažér obsluhuje priamo — neexistujú teda triedy akcií, ktoré by ste skladali do vlastných jobov či príkazov. Volajte z nich kontrakt.
QrManager má aj verejné metódy translator(), encode(), render() a encoderFits(). Existujú len pre PendingQr, sú označené @internal a nie sú na kontrakte ani na fasáde — z kódu aplikácie ich nevolajte.
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.