O implementare a unui sistem de realizare in Laravel, inspirat din sistemul de notificare Laravel.
Cuprins
- Cerinte
- Instalare
- Crearea realizarilor
- Deblocarea realizarilor
- Adaugarea progresului
- Preluarea realizarilor
- Ascultatori de evenimente
- Licenta
Cerinte
- Laravel 6 sau mai mare
- PHP 7.2 sau mai mare
Versiuni si ramuri
- v1. * – Spatiu de nume Gstt \ * original cu suport Laravel 6 si PHP7.2 (doar actualizari de corectie si securitate)
- v2. * (master) – Nou spatiu de nume Assada \ * cu suport Laravel> = 6 si PHP7.2 (remedieri, securitate si actualizari de caracteristici)
Instalare
Instalarea implicita se face prin Composer.
Furnizorul de servicii se va inregistra automat. Sau puteti adauga manual Furnizorul de servicii in fisierul de configurare / aplicatie din sectiunea furnizori.
Faceti o copie de rezerva a bazei de date si rulati migrarile pentru a configura tabelele necesare in baza de date.
Crearea realizarilor
Similar cu implementarea Laravel a Notificarilor, fiecare realizare este reprezentata de o singura clasa (de obicei stocata in directorul app \ Achievements.) Acest director va fi creat automat pentru dvs. atunci cand executati comanda make: achievement.
Aceasta comanda va pune o noua Realizare in directorul aplicatiei / Realizari cu numai doua proprietati definite: nume si descriere.
inazuma eleven xxx vecinasxxx
tetonas españolas follando sin querer
fire force hentai me follo a mi tia
necrofilia xxx www.maduras.con
orgasmos extremos pajas entre amigos
videos porno corridas incesto asiatico
casadas muy putas se le marca el coño
follando en el parque cartoon xxx
mi madre me folla hermanos rusos follando
sara rossi fakings follando en el parque
fiestas xxx maduras folladas por el culo
videos eroticos italianos abuelasputas
porno iberico folladas en el metro
peliculas eroticas gratis en español se folla a su compañero de piso
shakira follando pornolesvianas
abuelas y nietos xxx concursos nudistas
porno xxxxx videos eroticos italianos
orgias xxx casadas muy putas
coñitos violacion real porno
tetonas gratis videos gay xx
Ar trebui sa modificati valorile implicite pentru aceste proprietati cu ceva care explica mai bine ce este realizarea si cum sa o deblocati. Cand ati terminat, ar trebui sa arate astfel:
Deblocarea realizarilor
Realizarile pot fi deblocate folosind trasatura Achiever.
Aceasta trasatura contine metoda de deblocare, care poate fi utilizata pentru a debloca o realizare. Metoda de deblocare asteapta o instanta de realizare:
Amintiti-va ca nu sunteti limitat la clasa User. Puteti adauga trasatura Achiever oricarei entitati care ar putea debloca realizari.
Adaugarea progresului
In loc sa deblocati direct o realizare, puteti adauga un progres la aceasta. De exemplu, este posibil sa aveti o realizare UserMade10Posts si doriti sa tineti evidenta modului in care utilizatorul progreseaza in aceasta realizare.
Pentru a face acest lucru, trebuie sa setati un parametru suplimentar pentru clasa dvs. UserMade10Posts, numit $ points:
Acum puteti controla progresul prin metodele addProgress si removeProgress pe trasatura Achiever. Ambele metode asteapta o instanta de realizare si o cantitate de puncte de adaugat sau eliminat:
In plus, puteti utiliza metodele resetProgress pentru a seta progresul inapoi la 0 si setProgress pentru a-l seta la o cantitate specificata de puncte:
Odata ce o realizare atinge cantitatea definita de puncte, aceasta va fi deblocata automat.
Preluarea realizarilor
Trasatura Achiever adauga, de asemenea, o relatie convenabila entitatii care o implementeaza: realizari (). Il puteti folosi pentru a recupera progresul pentru toate realizarile cu care a interactionat entitatea. Deoarece realizarile () sunt o relatie, o puteti folosi ca QueryBuilder pentru a filtra datele si mai mult.
De asemenea, puteti cauta o realizare specifica folosind metoda achievementStatus ().
Exista, de asemenea, trei ajutoare suplimentare pe trasatura Achiever: lockedAchievements (), inProgressAchievements () si unlockedAchievements ().
Ascultatori de evenimente
Ascultarea tuturor realizarilor
Laravel Achievements ofera doua evenimente care pot fi ascultate pentru a oferi mesaje „Achievement Unlocked” sau altele similare. Ambele evenimente primesc instanta AchievementProgress care le-a declansat.
Evenimentul Assada \ Achievements \ Event \ Progress se declanseaza ori de cate ori un Achiever progreseaza, dar nu deblocheaza o Achievement. Evenimentul Assada \ Achievements \ Event \ Unlocked se declanseaza ori de cate ori un Achiever deblocheaza efectiv o realizare.
Detalii despre cum sa ascultati aceste evenimente sunt explicate in documentatia evenimentului Laravel.
Ascultarea unor realizari specifice
Ascultatorii de evenimente mentionati mai sus declanseaza toate realizarile. Daca doriti sa adaugati un ascultator de evenimente doar pentru o anumita realizare, puteti face acest lucru prin implementarea metodelor whenUnlocked sau whenProgress in clasa Achievement.
Licenta
Laravel Achievements este un software open-source licentiat sub licenta MIT.








