Open source
Attributes for Laravel
composer require roundly-consulting/attributes-for-laravelPrehľad
Dynamické typované atribúty kľúč/hodnota pre akýkoľvek Eloquent model. Pridajte jeden trait a model získa dopytovateľnú sadu vlastných polí — color, rating, on_sale, published_at — uložených v jedinej polymorfnej tabuľke, takže nové pole nikdy nepotrebuje migráciu. Hodnoty sa vracajú ako skutočný PHP typ a voliteľné definície pridávajú validáciu, predvolené hodnoty, jedinečnosť a povinnosť, šifrované uloženie aj auditnú stopu. Licencia MIT, postavené len na Laraveli a troch malých balíkoch Roundly — bez závislostí tretích strán.
Čo získate
Typované hodnoty
Reťazce, celé a desatinné čísla, booleany, polia aj dátumy sa vracajú ako skutočný PHP typ — bez ručného pretypovania.
Fluentný builder a synchronizácia
Pripravte niekoľko atribútov aj s metadátami a uložte ich popri ostatných alebo synchronizujte na presnú množinu — všetko alebo nič, v jednej transakcii.
Query scopy
Filtrujte a zoraďujte vlastníkov podľa atribútov — zhoda, množiny, rozsahy, prítomnosť, NULL a poradie.
Definície a obmedzenia
Registrujte známe atribúty globálne alebo pre konkrétny model s pravidlami Laravelu, predvolenými hodnotami, prísnym režimom, povinnosťou a jedinečnosťou vynútenou databázou.
Fasáda, DI alebo akcie
Attributes::for($model) na každé čítanie a zápis, vložiteľný AttributesManager alebo jednoúčelové akcie — a Attributes::fake() zaznamená každý zápis.
Šifrované uloženie
Označte atribút ako šifrovaný — uloží sa ako šifrový text cez Crypt, pri čítaní sa transparentne dešifruje a jedinečnosť platí ďalej.
Auditná stopa a udalosti
Voliteľná história zmien starý→nový plus udalosti po commite pri pripojení, odpojení a synchronizácii.
Dokumentácia
Inštalácia
Inštalácia cez Composer, publikovanie a spustenie dvoch migrácií a voliteľne publikovanie konfiguračného súboru.
Konfigurácia
Každý konfiguračný kľúč a jeho predvolená hodnota — model, tabuľka, typ kľúča vlastníka, prísny režim, prečistenie, história a definície.
Databázová schéma a model
Tabuľky atribútov a revízií, typy kľúčov vlastníka pre modely s UUID a ULID a náhrada modelu Attribute vlastným.
Trait HasAttributes
Pridajte trait a kontrakt HasAttributes na akýkoľvek Eloquent model a získajte typované, dopytovateľné atribúty — plus prehľad metód.
Fasáda Attributes
Attributes::for($owner) na každé čítanie a zápis jedného modelu, plus definície, validácia, prečistenie a zaznamenávajúci fake.
DI a akcie
Bez fasády: vložte si AttributesManager a máte to isté API bez statických volaní, alebo volajte jednoúčelovú akciu priamo.
Typované hodnoty
Hodnoty si zachovávajú skutočný PHP typ — reťazce, čísla, booleany, polia aj dátumy sa vracajú bez ručného pretypovania.
Pripájanie atribútov a metadát
Pripojte jeden alebo viac typovaných atribútov, doplňte k nim metadáta a nahraďte metadáta bez zmeny hodnoty.
Fluentný builder
Pripravte niekoľko atribútov s metadátami, upravte pripravenú množinu a uložte ju popri existujúcich alebo nimi nahraďte všetky.
Čítanie atribútov
Čítajte typované hodnoty, reťazce, modely a metadáta; použite attr() alebo typované čítanie; exportujte atribúty ako mapy.
Query scopy
Filtrujte a zoraďujte modely vlastníkov podľa ich atribútov — zhoda, množiny, rozsahy, prítomnosť, NULL a poradie.
Odstraňovanie a synchronizácia
Odstraňujte atribúty cez soft delete alebo natrvalo, ponechajte len vybrané a synchronizujte atribúty modelu na presnú množinu.
Definície a validácia
Registrujte známe atribúty s typom a validačnými pravidlami Laravelu, načítajte ich z konfigurácie a zapnite prísny režim.
Schémy modelov
Deklarujte definície atribútov priamo na modeli — ako vlastnosť alebo metódu — prekryté cez globálne definície len pre daný model.
Jedinečnosť, povinnosť a predvolené hodnoty
Vynúťte jedinečné hodnoty v rámci typu modelu alebo globálne, overujte povinné atribúty a čítajte predvolené hodnoty.
Šifrované hodnoty
Označte definíciu ako šifrovanú — hodnota sa uloží ako šifrový text cez Crypt a pri čítaní sa transparentne dešifruje.
História a auditná stopa
Zapnite zaznamenávanie revízií starý→nový pri každom pripojení, zmene hodnoty či metadát a odpojení a čítajte ich pre model či atribút.
Udalosti
Reagujte na zmeny atribútov cez AttributeAttached, AttributeDetached a AttributesSynced — pre audit, reindexáciu či synchronizáciu.
Artisan príkazy
Vypíšte atribúty vlastníka, natrvalo prečistite staré soft-deleted atribúty a overte konfiguráciu balíka príkazom about.
Enumy
AttributeType, UniqueScope a RevisionType — so zoznamami možností, popiskami, vyhľadávaním a porovnávaním z enums-for-laravel.
Výnimky
Každá výnimka, ktorú balík vyhadzuje, kedy vznikne a aký kontext nesie — všetky dedia z AttributesException.
Testovanie
Zaznamenajte zápisy cez Attributes::fake() a jeho asercie, testujte nad skutočnými riadkami s RefreshDatabase a plňte dáta factory.
Požiadavky
PHP 8.4+ a Laravel 12 alebo 13, plus tri malé balíky Roundly, ktoré Composer nainštaluje 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.