Open source
Package Toolkit for Laravel
composer require roundly-consulting/package-toolkit-for-laravelPrehľad
Natívny toolkit bez závislostí na tvorbu Laravel balíkov. Rozšírte jeden základný service provider, vo fluentnom builderi opíšte, čo váš balík obsahuje, a všetky volania publish, load a commands strážené cez runningInConsole() sa vygenerujú za vás — práve raz. K tomu dostanete schémové makrá podľa typu kľúča, prenosné LIKE vyhľadávanie odolné voči injekcii, prísne prístupy ku konfigurácii a resolver modelov. Licencia MIT, postavené len na oficiálnych API Laravelu a Symfony.
Čo získate
Fluentný builder balíka
Rozšírte jeden základný provider a v jednom reťazci deklarujte konfiguráciu, migrácie, views, preklady, routy, príkazy, aliasy aj výstup about.
Migrácie len na publikovanie
Migrácie sa publikujú s usporiadanými časovými pečiatkami a pri opätovnom publikovaní sa prepíšu na mieste — nikdy sa nenačítajú automaticky, nezdvoja ani neprepíšu tie vaše.
Schémové makrá podľa typu kľúča
Jedna stratégia bigint/uuid/ulid riadená konfiguráciou s makrami ownerKey(), morphKey(), polymorphicSubject() a auditable().
Prísne čítanie konfigurácie
Čítače celých čísel, reťazcov, enumov, pevných slovníkov a booleanov: nenastavená hodnota — chýbajúca, null alebo prázdna ako KEY= u hostiteľa — dostane predvolenú hodnotu, každá iná neplatná hodnota vyhodí výnimku. Aj pre polia DTO a s vašou vlastnou výnimkou.
Prenosné a bezpečné vyhľadávanie
whereLikeEscaped() escapuje zástupné znaky používateľa a na Postgrese použije ILIKE, inde LIKE — v query aj Eloquent builderi.
Idempotentné od základu
Gates, Blade direktívy a makrá sa zaregistrujú raz aj pri dvojitom boote — plus PHPStan rozšírenie pre makrá.
Dokumentácia
Inštalácia
Inštalácia cez Composer — toolkit je knižnica, na ktorej stavia service provider vášho balíka, nič sa nepublikuje.
Builder balíka
Rozšírte PackageServiceProvider, opíšte balík v configurePackage() a zvyšok zapojí základný provider.
Metódy buildera
Každá metóda buildera Package — konfigurácia, migrácie, preklady, views, routy, príkazy, aliasy, about a stuby — aj s publish tagom.
Migrácie len na publikovanie
Migrácie balíka sa nikdy nenačítajú automaticky: publikujú sa s usporiadanými pečiatkami, prepíšu sa na mieste a migrate spustí hostiteľ.
Väzby a observery
Naviažte kontrakt na triedu z konfigurácie a pripojte observer ku konfigurovateľnému modelu — z register() a boot().
Voliteľné traity
Idempotentná registrácia gates, Blade direktív a schémových makier — dvojitý boot nič neprepíše ani nezaregistruje dvakrát.
Typy kľúčov a schémové makrá
Jedna stratégia kľúčov bigint/uuid/ulid riadená konfiguráciou s makrami ownerKey(), morphKey(), polymorphicSubject() a auditable().
Statická analýza (PHPStan)
Pribalené PHPStan rozšírenie deklaruje schémové aj query makrá, takže ich Larastan nikdy nehlási ako nedefinované metódy.
Databázové pomocníky
Enum DatabaseDriver na vetvenie podľa drivera a whereLikeEscaped() — prenosné vyhľadávanie podreťazca odolné voči injekcii.
Validácia konfigurácie
Prísne čítanie konfigurácie — celé čísla, povinné reťazce, enumy, pevné slovníky a booleany, polia DTO a vlastná trieda výnimky.
Modely z konfigurácie
Zistite konfigurovateľnú triedu Eloquent modelu cez ModelResolver alebo ResolvesModels — trieda, ktorá nededí z modelu balíka, vyhodí výnimku.
Výnimky a retry-after
Hierarchia výnimiek toolkitu s presnými správami a kontrakt HasRetryAfter pre chyby rate limitu.
Prechod existujúceho balíka
Presuňte ručne zapojený balík na toolkit v štyroch krokoch — provider, typy kľúčov, pomocníci, kontrola kvality.
Testovanie
Migrácie balíka načítajte v jeho TestCase explicitne a strážcov konfigurácie, makrá a direktívy testujte cez verejné API.
Požiadavky
PHP 8.4+ a Laravel 12 alebo 13 — žiadne ďalšie runtime závislosti. S phpstan/extension-installer sa rozšírenie pre PHPStan načíta automaticky.
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.