Všetky balíky
Credits for Laravel
Konfigurácia
Balík má rozumné predvolené hodnoty a funguje bez akejkoľvek konfigurácie. Publikovaný config/credits.php v plnom znení:
<?php
declare(strict_types=1);
use RoundlyConsulting\Credits\Models\Credit;
return [
'model' => Credit::class,
'key_type' => env('CREDITS_KEY_TYPE', 'bigint'),
'primary_key_type' => env('CREDITS_PRIMARY_KEY_TYPE', 'bigint'),
'allow_overdraft' => env('CREDITS_ALLOW_OVERDRAFT', false),
'minimum_balance' => 0,
'default_bucket' => 'default',
'scale' => 0,
'rounding' => env('CREDITS_ROUNDING', 'half_away_from_zero'),
'currencies' => [
// 'store_credit' => 'EUR',
// 'points' => 'PTS',
],
'modifiable' => [
//
],
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
model | Credit::class | — | Eloquent model pre záznamy knihy pohybov. Nastavte vlastnú podtriedu Credit, ak chcete upraviť správanie alebo tabuľku; trieda, ktorá nie je Credit ani jeho podtrieda, vyhodí InvalidConfigurationException. |
key_type | bigint | CREDITS_KEY_TYPE | Typ kľúča vašich modelov s kreditmi (morph stĺpec creditable_id): bigint, uuid alebo ulid; iná hodnota vyhodí InvalidConfigurationException. Zafixuje sa pri spustení migrácie. |
primary_key_type | bigint | CREDITS_PRIMARY_KEY_TYPE | Vlastné id tabuľky credits: bigint, uuid alebo ulid; iná hodnota vyhodí InvalidConfigurationException. Zafixuje sa pri spustení migrácie. |
allow_overdraft | false | CREDITS_ALLOW_OVERDRAFT | Pri false odpis, ktorý by skupinu dostal pod minimum_balance, vyhodí InsufficientCreditsException. True globálne povolí odpisy pod minimum_balance. Hodnota z env sa číta ako boolean: 1, true, on a yes ho zapnú; 0, false, off a no ho nechajú vypnuté; čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča. |
minimum_balance | 0 | — | Spodná hranica, ktorá platí, keď prečerpanie nie je povolené. Celé číslo (int) alebo kanonický celočíselný reťazec („50“, „-100“); prázdna hodnota ('') sa považuje za nenastavenú, takže platí 0; čokoľvek iné („fifty“, „50.5“) vyhodí InvalidConfigurationException namiesto toho, aby sa z toho stala 0. |
default_bucket | 'default' | — | Skupina pre čítanie aj zápis, keď ju volanie neuvedie. Zostatok bez skupiny vráti len túto skupinu — nikdy nesčítava naprieč skupinami. Prázdna hodnota sa považuje za nenastavenú, takže platí 'default'; hodnota, ktorá nie je reťazec, vyhodí InvalidConfigurationException. |
scale | 0 | — | Počet desatinných miest, ktoré uložené celé čísla reprezentujú. Čítajú ho len pomocníky zobrazenia; skupina v mene ho ignoruje. Celé číslo od 0 do 36 (alebo jeho kanonický reťazec); čokoľvek iné vyhodí InvalidConfigurationException. |
rounding | half_away_from_zero | CREDITS_ROUNDING | Predvolený režim zaokrúhľovania pri zobrazení — prípad \RoundingMode v snake_case. Nenastavená hodnota (chýbajúca, null alebo prázdne CREDITS_ROUNDING=) znamená half_away_from_zero; neznáma hodnota vyhodí pri prvom použití InvalidMoneyConfiguration. |
currencies | [] | — | Názov skupiny → kód meny z money (ISO alebo vlastná). Vyhodnotí sa lenivo, pri prvom použití. |
modifiable | [] | — | Closures pre credits:modify. Každá dostane callback $modify, ktorým zmenu aplikuje na entitu Creditable. Hodnota, ktorá nie je pole, alebo položka, ktorú nemožno zavolať, vyhodí InvalidConfigurationException. |
Prostredie (env)
Kľúče, ktoré sa líšia podľa nasadenia, sa dajú nastaviť cez env:
CREDITS_KEY_TYPE=bigint
CREDITS_PRIMARY_KEY_TYPE=bigint
CREDITS_ALLOW_OVERDRAFT=false
CREDITS_ROUNDING=half_away_from_zeroČo rozhodnúť hneď na začiatku
- key_type a primary_key_type sa čítajú pri spustení migrácie — zvoľte ich pred publikovaním a migráciou. Neskoršia zmena je dátová migrácia, nie zmena konfigurácie.
- Nerozpoznaný typ kľúča vyhodí InvalidConfigurationException s názvom kľúča — nikdy sa nenahradí hodnotou bigint.
- Prísne sa čítajú aj všetky ostatné nastavenia: nenastavený kľúč — chýbajúci, null alebo prázdny (KEY= v .env) — použije predvolenú hodnotu a prítomná hodnota zlého tvaru — fifty ako spodná hranica, pole ako skupina, reťazec namiesto zoznamu closures — vyhodí InvalidConfigurationException s názvom kľúča. Preklep sa nikdy neprevedie na 0 ani nenahradí predvolenou hodnotou.
- credits.currencies sa vyhodnocuje lenivo pri každom použití, nikdy pri štarte, takže vlastná mena zaregistrovaná v boot() vášho providera bude prijatá.
- credits.rounding musí pomenovať prípad \RoundingMode v snake_case; staré celočíselné PHP_ROUND_* sa odmietnu.
- CREDITS_ALLOW_OVERDRAFT sa číta ako boolean — off, no aj false prečerpanie naozaj nechajú vypnuté a php artisan about ukáže presne to, čo ochrana uplatňuje.
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.