Inštalácia
Pridajte balík. Service provider sa zaregistruje automaticky a spolu s ním sa nainštalujú aj jeho dve závislosti od Roundly — package-toolkit-for-laravel a money-for-laravel:
composer require roundly-consulting/credits-for-laravel
php artisan vendor:publish --tag="credits-migrations"
php artisan migrateMigrácie len cez publikovanie
Balík svoje migrácie sám nenačítava. Publikovanie ich skopíruje do vášho database/migrations, kde ich vlastníte vy — samotné php artisan migrate pred publikovaním preto nevytvorí nič. Súbory dostanú aktuálnu časovú pečiatku, takže sa spustia po vašich tabuľkách; opätovné publikovanie prepíše tie isté súbory.
Migrácia credits vytvorí dve tabuľky: credits, samotnú knihu pohybov, a credit_locks, jeden malý riadok na vlastníka, ktorý zoraďuje súbežné zmeny (pozrite Ochrana pred prečerpaním). create_credit_holds_table pridá credit_holds (pozrite Rezervácie) a create_credit_resets_table pridá credit_resets (pozrite Pravidelné obnovenie).
Ak vaše modely s kreditmi používajú kľúče UUID alebo ULID, nastavte CREDITS_KEY_TYPE ešte pred migráciou — pozrite si Typy kľúčov a schéma.
Migrácia len dopredu
Ako každá migrácia balíkov od Roundly nemá down(): php artisan migrate:rollback tabuľky nezmaže a nasledujúce migrate potom zlyhá na „table already exists“. Publikované kópie patria vám — pri odinštalovaní zmažte credits, credit_locks, credit_holds a credit_resets vo vlastnej migrácii alebo do svojich kópií doplňte down().
Prechod z verzie 2.0
Verzia 2.1 pridáva rezervácie a pravidelné obnovenie, každé s vlastnou tabuľkou. Migrácie publikujte znova — existujúca kópia sa použije ďalej a pribudnú len nové súbory — a spustite migrate:
php artisan vendor:publish --tag="credits-migrations" # adds create_credit_holds_table + create_credit_resets_table
php artisan migrateNič iné sa nemení. Rezervácie zostanú vypnuté, kým nenastavíte credits.holds.enabled, takže aktualizácia bez spustenej migrácie funguje ďalej; obnovenie nepotrebuje žiadny prepínač, len tabuľku credit_resets. Ďalšia hlavná verzia má rezervácie zapnúť predvolene.
Konfigurácia a preklady
Konfiguračný súbor je voliteľný — balík funguje bez akejkoľvek konfigurácie. Publikujte ho, len ak chcete zmeniť predvolenú hodnotu:
php artisan vendor:publish --tag="credits-config"Texty výnimiek sa dajú preložiť a balík ich obsahuje v angličtine aj slovenčine. Publikujte ich do lang/vendor/credits, ak ich chcete upraviť alebo pridať ďalšie jazyky:
php artisan vendor:publish --tag="credits-translations"Balík vystavuje presne tri publish tagy: credits-migrations, credits-config a credits-translations.
Ďalšie kroky
- Pridajte modelu rozhranie Creditable a trait HasCredits.
- Pripisujte a odpisujte kredity cez modifyCredits().
- Rozdeľte kredity do pomenovaných skupín, ak sa rôzne druhy nesmú navzájom miešať.
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.