Konfigurácia
Balík má rozumné predvolené hodnoty a funguje bez akejkoľvek konfigurácie. Publikovaný config/coupons.php v plnom znení:
use RoundlyConsulting\Coupons\Models\Coupon;
return [
'model' => Coupon::class,
// Key type of the polymorphic redeemer column: "bigint", "uuid" or "ulid".
'key_type' => env('COUPONS_KEY_TYPE', 'bigint'),
'default_currency' => env('COUPONS_CURRENCY', 'USD'),
'redeemer' => [
'track' => env('COUPONS_TRACK_REDEEMERS', true),
],
'code' => [
'length' => env('COUPONS_CODE_LENGTH', 6),
'charset' => env('COUPONS_CODE_CHARSET', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'),
],
'route_key' => env('COUPONS_ROUTE_KEY', 'code'),
];Všetky kľúče
| Kľúč | Typ | Predvolené | Env | Účel |
|---|---|---|---|---|
model | class-string | Coupon::class | — | Model kupónu. Nastavte ho na podtriedu balíkového Coupon; čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča. Používa ho manažér, akcie, pravidlo aj oba príkazy. |
key_type | string | bigint | COUPONS_KEY_TYPE | Typ kľúča polymorfného stĺpca redeemer v coupon_redemptions: bigint, uuid alebo ulid. Číta ho migrácia — nastavte ho pred migrovaním. Čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča. |
default_currency | string | USD | COUPONS_CURRENCY | Kód ISO 4217, na ktorý dodávaná CouponFactory uzamkne pevné kupóny a kupóny so stropom, ak stav menu neuvedie; zobrazuje ho aj about. Uplatnenie menu nikdy nepredpokladá — vždy použije menu sumy košíka. Prázdna hodnota (COUPONS_CURRENCY=) sa považuje za nenastavenú, takže platí USD; hodnota, ktorá nie je reťazcom, vyhodí InvalidCouponConfiguration s názvom kľúča. |
redeemer.track | bool | true | COUPONS_TRACK_REDEEMERS | Zapisovať riadok coupon_redemptions pri každom uplatnení so zákazníkom — základ limitov na zákazníka, usageBy() a hasRedeemed(). Fungujú aj hodnoty v štýle env: 1/true/on/yes a 0/false/off/no; prázdna hodnota sa považuje za nenastavenú, takže sledovanie zostáva zapnuté; čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča. |
code.length | int | 6 | COUPONS_CODE_LENGTH | Dĺžka automaticky generovaných kódov, 4–64. Funguje aj celočíselný reťazec ako „8“; prázdna hodnota sa považuje za nenastavenú, takže platí 6; „eight“ alebo „8.5“ vyhodí výnimku. |
code.charset | string | A–Z 0–9 | COUPONS_CODE_CHARSET | Abeceda generovaných kódov: aspoň 2 rôzne symboly (bez ohľadu na veľkosť písmen), žiadne medzery ani riadiace znaky. Prevedie sa na veľké písmená ako každý kód; viacbajtové symboly sú v poriadku. Prázdna hodnota sa považuje za nenastavenú, takže platí A–Z 0–9. |
route_key | string | code | COUPONS_ROUTE_KEY | Stĺpec pre route-model binding parametra {coupon}. Nastavte id, ak chcete väzbu cez primárny kľúč. Prázdna hodnota sa považuje za nenastavenú, takže platí code; hodnota, ktorá nie je reťazcom, vyhodí InvalidCouponConfiguration s názvom kľúča, namiesto väzby cez code. |
Prostredie (env)
Každý kľúč okrem model sa dá nastaviť cez env, takže konfiguráciu publikujete len zriedka:
COUPONS_KEY_TYPE=bigint
COUPONS_CURRENCY=EUR
COUPONS_TRACK_REDEEMERS=true
COUPONS_CODE_LENGTH=8
COUPONS_CODE_CHARSET=ABCDEFGHJKLMNPQRSTUVWXYZ23456789
COUPONS_ROUTE_KEY=codeCOUPONS_TRACK_REDEEMERS prijíma hodnoty v štýle env: 1, true, on alebo yes sledovanie ponechajú zapnuté, 0, false, off alebo no ho vypnú; prázdna hodnota (COUPONS_TRACK_REDEEMERS=) sa považuje za nenastavenú, takže sledovanie zostáva zapnuté. Čokoľvek iné vyhodí InvalidConfigurationException s názvom kľúča.
Kľúč, ktorý odstránite, nastavíte na null alebo necháte prázdny (COUPONS_CURRENCY=), sa považuje za nenastavený a dostane predvolenú hodnotu; kľúč s hodnotou nesprávneho tvaru vyhodí výnimku, namiesto návratu k predvolenej hodnote, a php artisan about zobrazí chybný route_key, default_currency či hodnotu code.* ako INVALID aj s dôvodom. Nepoužiteľné code.length alebo code.charset vyhodí InvalidCouponConfiguration v momente generovania kódu — pozrite si Generované kódy; route_key či default_currency, ktorý nie je reťazcom, ju vyhodí pri čítaní. key_type sa číta len pri spustení migrácie.
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.