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

Open source

Credits for Laravel

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

Prehľad

Kredity a zostatky peňaženky pre akýkoľvek Eloquent model, vedené ako kniha pohybov, ktorá sa len dopĺňa. Každá zmena je samostatný nemenný záznam s časom — kladný pripisuje, záporný odpisuje — a zostatok je súčet týchto záznamov, takže priebežný stav, celú históriu aj zostatok k ľubovoľnému dátumu máte bez práce navyše. Pomenované skupiny, ochrana pred prečerpaním odolná voči súbehu, presné desatinné zobrazenie a skupiny vedené v mene sú súčasťou balíka. Licencia MIT a minimum závislostí: Laravel a dva malé balíky od Roundly.

Čo získate

Kniha pohybov len na zápis

Každé pripísanie aj odpis je samostatný záznam s časom, popisom a metadátami. Zostatok je ich súčet — nikdy nie uložený stĺpec.

Zostatok k ľubovoľnému dátumu

Zistite zostatok presne tak, ako bol v minulosti — datovaná kniha pohybov ho zrekonštruuje pre jednu skupinu aj celkovo.

Pomenované skupiny

Držte promo a zakúpené kredity oddelene na tom istom vlastníkovi — izolované zostatky a súčty naprieč skupinami, keď potrebujete jedno číslo.

Ochrana pred prečerpaním

Odpis pod stanovenú hranicu predvolene vyhodí výnimku a zámok vlastníka zoradí súbežné zmeny za sebou na každej úrovni izolácie — nič sa neminie dvakrát.

Presné desatinné zobrazenie

Celé najmenšie jednotky s nastaviteľnou škálou a natívnym RoundingMode — žiadne odchýlky float, ani pri PHP_INT_MAX.

Skupiny v mene

Priraďte skupine ISO alebo vlastnú menu a čítajte či zapisujte ju ako Money; nesprávnu menu odmietne skôr, než sa čokoľvek zapíše.

Fasáda, DI alebo akcie

Credits::for($user) nad injektovateľným CreditsManager a jednoúčelovými akciami, zaznamenávajúci fake, udalosť CreditsModified a credits:modify.

Dokumentácia

Inštalácia

Inštalácia cez Composer, publikovanie a spustenie migrácie a voliteľne publikovanie konfigurácie a prekladov.

Konfigurácia

Každý konfiguračný kľúč a jeho predvolená hodnota — model, typy kľúčov, prečerpanie, predvolená skupina, škála, zaokrúhľovanie a meny.

Typy kľúčov a schéma

Tabuľky credits a credit_locks a ako key_type a primary_key_type určujú typ morph stĺpca aj vlastného id knihy pohybov.

Modely s kreditmi

Implementujte Creditable a použite HasCredits na ľubovoľnom Eloquent modeli — používateľ, tím, účet — a získa knihu pohybov aj zostatok.

Fasáda Credits

Credits::for($owner) — nemenný scope na pripísanie, odpis, nastavenie a čítanie kreditov po skupinách, v celých číslach alebo Money, plus pomocníky.

DI a akcie

Namiesto fasády injektujte CreditsManager alebo volajte jednoúčelové akcie z jobov a služieb — zmena, nastavenie, zostatok, súčet, formátovanie.

Pripísanie a odpis kreditov

Pripisujte a odpisujte kredity cez modifyCredits(), pridajte popis a metadáta a nastavte presný zostatok cez setCreditsTo().

Ochrana pred prečerpaním

Odpis pod hranicu predvolene vyhodí InsufficientCreditsException; prečerpanie povolíte pre jedno volanie alebo globálne, bezpečne aj pri súbehu.

Čítanie zostatkov

Zistite aktuálny aj historický zostatok, overte dostupné kredity cez hasCredits() a pracujte priamo so vzťahom knihy pohybov.

Pomenované skupiny

Rozdeľte kredity jedného vlastníka do izolovaných pomenovaných skupín a sčítajte vybrané či všetky skupiny, keď potrebujete jedno číslo.

Desatinné kredity a zobrazenie

Ukladajte desatinné kredity ako celé najmenšie jednotky so škálou a zobrazujte ich ako presné desatinné reťazce bez lokalizácie.

Skupiny v mene

Priraďte skupine ISO alebo vlastnú menu z money, čítajte jej zostatok ako Money a odmietajte zápisy v akejkoľvek inej mene.

Vlastné meny a výmena

Veďte skupiny vo vlastných jednotkách, napríklad vernostných bodoch, rešpektujte 64-bitový limit a vymieňajte body za peniaze.

Dotazovacie scopy

Reportujte nad knihou pohybov cez scopy modelu Credit — pripísania, odpisy, okamih, vlastník a filtre skupín.

Udalosti

Reagujte na každú zaznamenanú zmenu cez udalosť CreditsModified — vlastník, nový záznam a nový zostatok skupiny.

Vlastný model a preklady

Nahraďte model vlastnou podtriedou Credit cez credits.model a publikujte texty výnimiek, aby ste ich preložili alebo upravili.

Artisan príkazy

Aplikujte zmenu kreditov hromadne cez credits:modify a skontrolujte vyhodnotenú konfiguráciu cez php artisan about.

Výnimky

Výnimky balíka a výnimky z money-for-laravel, ktoré balík prepúšťa — kedy vznikajú a čo nesú.

Testovanie

Credits::fake() zaznamená každé pripísanie, odpis a nastavenie bez zápisu; alebo testujte zostatky, ochranu a udalosti proti skutočnej databáze.

Požiadavky

PHP 8.4+ s ext-bcmath, Laravel 12 alebo 13 a dva balíky 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.