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

Zmena reakcie

react() drží jednu aktívnu reakciu na aktéra a cieľový model: reakcia s novým typom prepne existujúcu reakciu namiesto pridania druhej.

Likes::actor($user)->as('love')->react($post); // facade
$user->react($post, 'love');                   // trait
$user->switchReaction($post, 'wow');           // readable alias
  • Žiadna predchádzajúca reakcia — správa sa ako like() a spustí Liked.
  • Rovnaký typ — nič sa nezmení, vráti true, žiadna udalosť.
  • Iný typ — prepne reakciu a spustí len ReactionChanged(from, to), nikdy Liked ani Unliked, takže analytika aj notifikácie vidia čistý prechod. Záznam sa zmení na mieste, alebo — ak aktér nový typ už predtým použil — sa obnoví odobratý záznam tohto typu a starý sa odoberie.
  • Len odobraté reakcie — obnoví sa záznam požadovaného typu (alebo najnovší odobratý záznam prepnutý na požadovaný typ) a spustí sa Liked.

Krok za krokom

$user->react($post, 'like');   // no prior reaction: creates it, fires Liked
$user->react($post, 'like');   // same type: no-op, returns true, no event
$user->react($post, 'love');   // switches the reaction, fires ReactionChanged('like', 'love')
$user->unlike($post, 'love');  // removes it, fires Unliked

Ak chcete, aby mal aktér viac súčasných reakcií, naďalej používajte like('love') + like('wow'); pre bežný prípad jednej reakcie použite react(). Ak má aktér viac reakcií, react() ich zlúči do jednej: požadovaný typ zostane (alebo sa naň prepne najnovšia reakcia a spustí ReactionChanged) a každá ďalšia aktívna reakcia sa odoberie so spustením Unliked. Záznamy sa čítajú aj prepisujú pod zámkom riadkov v jednej transakcii a udalosti sa spustia až po jej potvrdení, takže dve súbežné volania react() nikdy nenahlásia tú istú zmenu.

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.