Пакет Laravel Reactions — це простий і гнучкий інструмент, який дозволяє додати функцію реакцій до будь-якої моделі Eloquent у вашій Laravel-аплікації. Він забезпечує необхідні трейти для реагування на модель, визначення моделі, яка є "реактором", а також запити, пов’язані з реакціями моделей.
Laravel Reactions дозволяє легко реалізувати реакції (наприклад, 👍, ❤️, 😂 тощо) для будь-якої моделі Eloquent у вашому проекті. Ви можете швидко надати можливість користувачам висловлювати свої емоції в соціальних мережах, блогах або форумах завдяки налаштуванням реакцій.
Ось кілька базових прикладів використання з документації пакету:
use Binafy\LaravelReaction\Traits\Reactor;
class User extends Authenticatable
{
use Reactor;
}
use Binafy\LaravelReaction\Contracts\HasReaction;
use Binafy\LaravelReaction\Traits\Reactable;
class Post extends Model implements HasReaction
{
use Reactable;
}
use Binafy\LaravelReaction\Enums\LaravelReactionTypeEnum;
$user->reaction(LaravelReactionTypeEnum::REACTION_LOVE, $post);
// Використання рядка замість enum
$user->reaction('love', $post);
// Видалення реакції користувача
$post->removeReaction(LaravelReactionTypeEnum::REACTION_LIKE, $user);
Ви також можете перевіряти реакції, і пакет Laravel Reactions надає кілька методів для запитів:
// Перевірка, чи конкретний користувач відреагував
if ($post->isReacted($user)) {
echo "Користувач відреагував на цей пост";
}
// Перевірка, чи відреагував користувач, який зараз авторизований
if ($post->isReacted()) {
echo "Ви відреагували на цей пост";
}
// Отримання кількості реакцій
$post->getReactionsWithCount();
// Отримання всіх користувачів, які відреагували
$post->getReactors();
👩💻 Розпочати роботу з цим пакетом можна на GitHub: binafy/laravel-reactions