Mon Mar 02 2026
...
Выпущен официальный пакет Laravel
Что нового
Мы рады объявить о выпуске нашего официального пакета Laravel, fastcomments/laravel. Если вы разрабатываете на Laravel и хотите добавить
комментарии, живой чат или количество комментариев в ваше приложение, теперь вы можете сделать это с помощью одной установки Composer и нескольких компонентов Blade.
Пакет поддерживает Laravel 10, 11 и 12 на PHP 8.1+.
Быстрый старт
Установите с помощью Composer:
composer require fastcomments/laravel
Затем добавьте ваш tenant ID и API ключ в ваш .env:
FASTCOMMENTS_TENANT_ID=your-tenant-id
FASTCOMMENTS_API_KEY=your-api-key
Вот и все. Сервисный провайдер и фасад автоматически обнаруживаются - ручная регистрация не требуется. Вы можете опубликовать файл конфигурации для дальнейшей настройки:
php artisan vendor:publish --tag=fastcomments-config
Компоненты Blade
Пакет поставляется с тремя компонентами Blade, которые вы можете использовать непосредственно в своих шаблонах:
Виджет комментариев:
<x-fastcomments url-id="my-page" />
Виджет живого чата:
<x-fastcomments-live-chat url-id="my-chat-room" />
Количество комментариев:
<x-fastcomments-comment-count url-id="my-page" />
Каждый компонент поддерживает такие свойства, как url, locale, readonly, has-dark-background и default-sort-direction. Скрипты загружаются
асинхронно и дедуплированы, так что вы можете безопасно разместить несколько виджетов на одной странице.
Автоматическое SSO
SSO можно активировать с помощью двух переменных окружения:
FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure
После активации компоненты комментариев и живого чата автоматически считывают Auth::user() и внедряют подписанный SSO полезный груз в конфигурацию виджета.
Авторизованные пользователи аутентифицируются бесшовно. Гостям отображаются ссылки для входа и выхода, которые по умолчанию идут на ваши именованные маршруты login и logout в Laravel.
Существует два способа контролировать, как ваша модель User сопоставляется с данными пользователя FastComments:
Сопоставление на основе конфигурации - установите имена атрибутов (включая точечную нотацию) или вызовы в config/fastcomments.php:
'user_map' => [
'id' => 'id',
'email' => 'email',
'username' => 'name',
'avatar' => 'profile_photo_url',
],
Сопоставление на основе интерфейса - реализуйте MapsToFastCommentsUser в вашей модели User для полного контроля:
use FastComments\Laravel\SSO\Contracts\MapsToFastCommentsUser;
class User extends Authenticatable implements MapsToFastCommentsUser
{
public function toFastCommentsUserData(): array
{
return [
'id' => (string) $this->id,
'email' => $this->email,
'username' => $this->name,
'avatar' => $this->avatar_url,
'is_admin' => $this->hasRole('admin'),
];
}
}
Поддерживаются как безопасное SSO (HMAC-подписанный, рекомендуется для продакшена), так и простой SSO.
Интеграция API
Пакет также оборачивает API FastComments с помощью фасада, внедрения зависимостей и прямого внедрения клиента SDK:
use FastComments\Laravel\Facades\FastComments;
// Административный API
$comments = FastComments::admin()->getComments(...);
// Публичный API
$counts = FastComments::publicApi()->getCommentCounts(...);
// Токен SSO для кастомного использования
$token = FastComments::sso()->tokenFor($user);
Резидентность данных в ЕС
Для клиентов, использующих наш регион ЕС, одна переменная окружения переключает все конечные точки - виджеты, API вызовы и SSO:
FASTCOMMENTS_REGION=eu
В заключение
Надеемся, что этот пакет облегчит добавление FastComments в ваши приложения Laravel. Он уже доступен на Packagist и исходный код доступен на GitHub.
Сообщите нам ниже, если у вас есть какие-либо отзывы!
Cheers!
