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

Open source

Options for Laravel

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

Prehľad

Natívna vrstva nastavení pre Laravel. Každé nastavenie je malá trieda, ktorá deklaruje kľúč, predvolenú hodnotu a cast — a podľa potreby aj šifrovanie, validáciu a pravidlá prístupu. Hodnoty sa ukladajú do jednej tabuľky options, buď globálne, alebo pre ľubovoľný Eloquent model: používateľa, tím, tenanta. Čítania sa pamätajú počas requestu či jobu vo fronte a voliteľne aj v cache naprieč requestami, zápisy obe vrstvy udržiavajú v súlade a spúšťajú eventy a prepojenie s konfiguráciou umožní, aby uložené hodnoty pri štarte prepísali config(). Licencia MIT, postavené len na Laraveli a vlastnom package toolkite od Roundly.

Čo získate

Globálne alebo pre vlastníka

Jedna tabuľka options pre celoaplikačné hodnoty aj hodnoty viazané na akýkoľvek Eloquent model — používateľa, tím, tenanta.

Typované casty a šifrovanie

Ľubovoľný cast Laravelu, vlastný CastsAttributes, cast pre backed enumy a šifrovanie uložených hodnôt pre každé nastavenie zvlášť.

Dvojvrstvová cache

Pamäť v rámci requestu plus voliteľná trvalá cache, ktorú vyprázdnite na akomkoľvek úložisku. Obe držia surovú uloženú hodnotu a zápisy ich udržiavajú v súlade.

Skupiny pre obrazovky nastavení

Zoskupte nastavenia do skupín, ktorých definition() dodá vášmu UI popisky, nápovedy, sekcie, poradie, typy aj aktuálne hodnoty.

Voliteľné riadenie prístupu

Hooky na čítanie a zápis pre každé nastavenie, voliteľné Gate abilities, actingAs() a withoutAuthorization() — vypnuté, kým ich nezapnete.

Prepojenie s konfiguráciou, eventy a CLI

Uložené nastavenia prepíšu config() bez nového nasadenia. K tomu eventy OptionSet a OptionForgotten, cielené observery a osem Artisan príkazov.

Fasáda, DI alebo akcie

Použite fasádu Options, vložte si OptionsManager alebo volajte akcie na export a import — Options::fake() zaznamená každý zápis bez ohľadu na to, odkiaľ prišiel.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácie tabuľky options a voliteľne publikovanie konfigurácie na úpravu registra alebo výmenu modelu.

Konfigurácia

Každý konfiguračný kľúč a jeho predvolená hodnota — model, typ kľúča vlastníkov, register, cache, eventy, skupiny, autorizácia a config().

Databázová schéma a typ kľúča

Jediná tabuľka options, ako key_type určuje stĺpce vlastníka pre kľúče bigint, UUID či ULID a ako nasadiť vlastný model.

Definovanie nastavení

Zdeďte BaseOption a deklarujte kľúč, predvolenú hodnotu, cast, šifrovanie, pravidlá a prezentáciu — alebo použite make:option.

Fasáda Options

Celé API fasády Options — ploché slovesá, handly for(), option(), key() a group(), register, observery, riadenie prístupu a cache.

DI a akcie

Bez fasády: vložte si OptionsManager a máte to isté API bez statických volaní, alebo volajte akcie na export a import priamo.

Čítanie a zápis

Čítajte, zapisujte, overujte, mažte a zapamätajte si hodnoty nastavení cez fasádu Options — globálne alebo pre vlastníka.

Fluent API a hromadné operácie

Reťazte volania nad jedným nastavením, cez for() obmedzte dávku na vlastníka a čítajte či zapisujte viac nastavení naraz.

Vlastníci a trait HasOptions

Viažte hodnoty na akýkoľvek Eloquent model — používateľov, tímy, tenantov — a čítajte ich priamo z modelu cez trait HasOptions.

Helpery, register a Blade

Helpery options() a setting(), krátke textové kľúče cez register a Blade direktíva @option s escapovaním výstupu.

Casty a šifrovanie

Pretypujte hodnoty ľubovoľným castom Laravelu, vlastným CastsAttributes či castom pre enumy a citlivé nastavenia šifrujte.

Validácia

Vráťte z rules() validačné pravidlá Laravelu a každý zápis sa overí skôr, než sa pretypuje či uloží.

Eventy

OptionSet, OptionForgotten a voliteľný OptionResolved — čo nesú, kedy sa spúšťajú a ako ich vypnúť.

Observery

Reagujte na zmenu jedného konkrétneho nastavenia — closures alebo invokable triedy, spúšťané pri set a forget v poradí registrácie.

Skupiny nastavení

Zoskupte súvisiace nastavenia do skupiny, ktorá jedným volaním načíta, uloží a opíše celú obrazovku nastavení.

Riadenie prístupu

Voliteľné pravidlá čítania a zápisu pre každé nastavenie, Gate abilities, konanie za používateľa, obídenie pre systémové joby a autorizácia v CLI.

Prepojenie s konfiguráciou

Nechajte uložené nastavenia pri štarte prepísať hodnoty config() — odosielateľa e-mailov či názov aplikácie meňte z databázy.

Kešovanie

Pamäť v rámci requestu a trvalá cache — čo držia, ako ich zápisy udržiavajú aktuálne a ako vyprázdnenie funguje na každom úložisku.

Import a export

Prenášajte nastavenia medzi prostrediami alebo seedujte predvolené hodnoty cez Options::export(), exportJson() a import() či zodpovedajúce príkazy.

Artisan príkazy

Osem príkazov na generovanie nastavení a skupín, výpis, čítanie a zápis hodnôt, čistenie cache a export či import.

Testovanie

Options::fake() zaznamená každý zápis v pamäti a ponúka šesť asercií; alebo testujte proti skutočnej tabuľke so stavmi factory.

Výnimky

Všetky výnimky balíka, kedy vznikajú, a výnimky frameworku, s ktorými sa môžete stretnúť.

Požiadavky

PHP 8.4+, Laravel 12 alebo 13 a package toolkit od Roundly, ktorý Composer nainštaluje za vás.

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.