NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Open source

Attributes for Laravel

Inštalácia
composer require roundly-consulting/attributes-for-laravel
Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

Prehľ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 kryptomien

Odoslaní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.