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

0
Перекладено ШІ
Оригінал: 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

Популярні

Logomark Logotype

Як задокументувати кілька API в Laravel за допомогою Scramble

Ви знали, що в одному додатку Laravel можна реалізувати кілька API? У нашій статті ви дізнаєтеся, як за допомогою Scramble легко документувати різні версії API та налаштувати доступ до документації, щоб зробити її публічною або приватною. Читайте далі, щоб дізнатися більше

Logomark Logotype

Усе, що нам відомо про Livewire 4

Нова версія Livewire 4, представленої Келебом Порзіо на Laracon US 2025, обіцяє значні покращення у швидкості та організації компонентів. Які з інноваційних функцій підкорять ваше серце? Читайте далі, щоб дізнатися більше про те, як Livewire 4 полегшить вашу роботу

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення