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

Typované reakcie

Predvolene je nakonfigurovaná jediná implicitná reakcia like, takže balík sa správa ako obyčajné páčiky. Typované reakcie zapnete pridaním ďalších typov do config/likes.php:

// config/likes.php
'reactions' => ['like', 'love', 'wow', 'laugh'],
'default_reaction' => 'like',

Potom typ zvolíte cez as() na fasáde alebo ho odovzdáte ľubovoľnej operácii traitu, kontrole, počtu či scopu:

Likes::as('love')->like($post);
Likes::for($post)->likedBy($user, 'love');
Likes::for($post)->count('love');
Post::orderByLikesDesc('love')->get();

$user->like($post, 'love');        // the trait shorthand
$post->isLikedBy($user, 'love');

Viac reakcií od jedného aktéra

like() umožňuje, aby typované reakcie existovali súčasne — jeden záznam na aktéra, cieľový model a typ:

Likes::actor($user)->as('love')->like($post);
Likes::actor($user)->as('wow')->like($post);     // both reactions now co-exist
Likes::actor($user)->as('wow')->unlike($post);   // removes only the "wow"

Ak má mať aktér na položke práve jednu reakciu, použite namiesto toho react() (pozri Zmena reakcie).

Povolený zoznam

Typ mimo reactions vyhodí InvalidReactionTypeException — a to isté platí pre každé volanie bez typu, ak default_reaction v zozname chýba:

use RoundlyConsulting\Likes\Exceptions\InvalidReactionTypeException;
use RoundlyConsulting\Likes\Facades\Likes;

try {
    Likes::actor($user)->as('angry')->like($post);
} catch (InvalidReactionTypeException $e) {
    // The reaction type [angry] is not allowed. Allowed types: [like, love, wow, laugh].
}

Vstup od používateľa overte proti tomu istému zoznamu ešte predtým, než sa dostane k balíku:

use Illuminate\Validation\Rule;

$data = $request->validate([
    'reaction' => ['required', 'string', Rule::in(config('likes.reactions'))],
]);

Likes::actor($request->user())->as($data['reaction'])->react($post);

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.