Konfigurácia
Publikovaný config/options.php v plnom znení:
return [
'model' => RoundlyConsulting\Options\Option::class,
// Owner key type: bigint, uuid or ulid — fixed when the migration first runs.
'key_type' => env('OPTIONS_KEY_TYPE', 'bigint'),
'registry' => [
// 'theme' => App\Options\ThemeOption::class,
],
'cache' => [
'enabled' => env('OPTIONS_CACHE_ENABLED', true),
'store' => env('OPTIONS_CACHE_STORE'),
'ttl' => env('OPTIONS_CACHE_TTL', 3600),
'prefix' => env('OPTIONS_CACHE_PREFIX', 'options'),
'tag' => env('OPTIONS_CACHE_TAG', 'options'),
],
'events' => [
'enabled' => env('OPTIONS_EVENTS_ENABLED', true),
'resolved' => env('OPTIONS_EVENTS_RESOLVED', false),
],
'groups' => [
// 'billing' => App\Settings\BillingSettings::class,
],
'authorization' => [
'enabled' => env('OPTIONS_AUTHORIZATION', false),
'use_gate' => env('OPTIONS_AUTHORIZATION_GATE', false),
],
'config_overrides' => [
// 'mail.from.address' => App\Options\MailFromAddressOption::class,
],
'config_overrides_live' => env('OPTIONS_CONFIG_OVERRIDES_LIVE', false),
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
model | Option::class | — | Eloquent model, ktorý ukladá hodnoty. Musí dediť od RoundlyConsulting\Options\Option. |
key_type | bigint | OPTIONS_KEY_TYPE | Typ kľúča vlastníkov — bigint, uuid alebo ulid (bez ohľadu na veľkosť písmen). Určuje typ owner_id; nastavte ho pred migráciou. Čokoľvek iné pri spustení migrácie vyhodí InvalidConfigurationException. |
registry | [] | — | Krátke textové kľúče → triedy nastavení, na prístup cez kľúč. |
cache.enabled | true | OPTIONS_CACHE_ENABLED | Zapne trvalú cache naprieč requestami. |
cache.store | null | OPTIONS_CACHE_STORE | Názov cache úložiska; null alebo prázdna hodnota (nenastavené) použije predvolené úložisko. Hodnota, ktorá nie je reťazec, vyhodí výnimku. |
cache.ttl | 3600 | OPTIONS_CACHE_TTL | Životnosť v sekundách — celé číslo, aspoň 1; null znamená bez expirácie, prázdna hodnota (OPTIONS_CACHE_TTL=) sa považuje za nenastavenú a znamená 3600. Neplatná hodnota ako abc alebo 0 vyhodí výnimku namiesto tichého vypnutia cache. |
cache.prefix | options | OPTIONS_CACHE_PREFIX | Prefix kľúčov v cache. Prázdna hodnota sa považuje za nenastavenú a použije sa predvolená; hodnota, ktorá nie je reťazec, vyhodí výnimku. |
cache.tag | options | OPTIONS_CACHE_TAG | Cache tag, vďaka ktorému úložisko s tagmi (Redis, Memcached) pri vyprázdnení aj hneď zmaže staré záznamy. Prázdna hodnota sa považuje za nenastavenú a použije sa predvolená; hodnota, ktorá nie je reťazec, vyhodí výnimku. |
events.enabled | true | OPTIONS_EVENTS_ENABLED | Spúšťa OptionSet / OptionForgotten. Stavajú na nich observery aj živé prepisy konfigurácie. |
events.resolved | false | OPTIONS_EVENTS_RESOLVED | Spúšťa aj OptionResolved pri každom čítaní — je ho veľa, preto je predvolene vypnutý. |
groups | [] | — | Krátke kľúče → triedy OptionGroup, pre Options::group('kľúč'). |
authorization.enabled | false | OPTIONS_AUTHORIZATION | Vynucuje hooky authorizeRead() / authorizeWrite() jednotlivých nastavení. |
authorization.use_gate | false | OPTIONS_AUTHORIZATION_GATE | Zohľadní aj Gate abilities option.read / option.write, ak sú definované. |
config_overrides | [] | — | Kľúče config() → nastavenia, ktorých uložená hodnota pri štarte prepíše konfiguráciu. |
config_overrides_live | false | OPTIONS_CONFIG_OVERRIDES_LIVE | Pri set() / forget() znova aplikuje namapovaný kľúč v bežiacom procese. |
Prostredie (env)
Všetko okrem modelu a máp tried sa nastavuje cez env, takže väčšina nasadení konfiguráciu vôbec nepublikuje:
OPTIONS_KEY_TYPE=bigint
OPTIONS_CACHE_ENABLED=true
OPTIONS_CACHE_STORE=redis
OPTIONS_CACHE_TTL=3600
OPTIONS_CACHE_PREFIX=options
OPTIONS_CACHE_TAG=options
OPTIONS_EVENTS_ENABLED=true
OPTIONS_EVENTS_RESOLVED=false
OPTIONS_AUTHORIZATION=false
OPTIONS_AUTHORIZATION_GATE=false
OPTIONS_CONFIG_OVERRIDES_LIVE=falsePrepínače typu bool prijímajú bežné zápisy v env: true / false, 1 / 0, on / off aj yes / no. Každé nastavenie sa číta prísne: nenastavený kľúč — chýbajúci, null alebo prázdny (KEY= v .env) — použije predvolenú hodnotu a akákoľvek iná neplatná hodnota vyhodí InvalidConfigurationException s názvom kľúča — nič sa nenahrádza.
Príkaz about
Balík hlási svoju konfiguráciu do príkazu about v Laraveli. Kľúče nastavení, kľúče skupín a namapované cesty konfigurácie ukáže iba ako počty — kľúč pomenúva vaše nastavenie a jeho hodnotou môže byť token, feature flag či osobné údaje, preto sa nevypíše ani jedno:
php artisan about --only=optionsPrejavte 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.