Додайте функціонал реакцій у вашій аплікації за допомогою Laravel Reactions

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 26 липня, 2025
Ласкаво просимо у світ Laravel Reactions – пакету, який дозволяє вам легко додати функціонал реакцій до будь-якої моделі Eloquent у вашій Laravel аплікації. Потребуєте можливості, щоб користувачі могли висловлювати свої емоції? Досліджте, як цей пакет може перетворити ваш проект на справжню платформу для соціальної взаємодії

Пакет 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