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 ^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 — aj naprieč atribútmi —, predvolené hodnoty, jedinečnosť a povinnosť, šifrované uloženie aj auditnú stopu toho, kto čo zmenil. 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 — aj takými, ktoré porovnávajú atribúty navzájom — predvolenými hodnotami, prísnym režimom, povinnosťou a jedinečnosťou vynútenou databázou — v rámci typu modelu, tímu či tenanta alebo globálne.

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ý, ktorá vie zaznamenať aj autora každej zmeny, API resource na jej výpis a udalosti po commite pri pripojení, odpojení a synchronizácii.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácií, voliteľne publikovanie konfiguračného súboru a prechod na 2.1.

Konfigurácia

Každý konfiguračný kľúč a jeho predvolená hodnota — model, tabuľka, typy kľúčov, prísny režim, prečistenie, história s autorom, validácia 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.

Validácia naprieč atribútmi

Overte celú množinu atribútov vlastníka naraz, aby pravidlá ako gte:min_price či required_if:kind,physical videli aj ostatné atribúty.

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, tímu či tenanta 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 revízie starý→nový pri každej zmene, zaznamenajte ich autora, čítajte ich pre model či atribút a vykreslite ich pre API.

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