
Мова 🇺🇦 Українська
Документація
Початок роботи
Довідник API
Add Comments to Your Laravel App
Це офіційний пакет Laravel для FastComments.
Додайте живі коментарі, чат та інші можливості до вашого додатку Laravel.
Репозиторій
Встановлення 
composer require fastcomments/laravel
Опублікуйте файл конфігурації:
php artisan vendor:publish --tag=fastcomments-config
Додайте свої облікові дані до .env:
FASTCOMMENTS_TENANT_ID=your-tenant-id
FASTCOMMENTS_API_KEY=your-api-key
Для регіону ЄС:
FASTCOMMENTS_REGION=eu
Компоненти Blade 
Віджет коментарів
<x-fastcomments />
{{-- З опціями --}}
<x-fastcomments
url-id="my-page-id"
url="https://example.com/my-page"
locale="en_us"
:has-dark-background="true"
default-sort-direction="MR"
/>
Живий чат
<x-fastcomments-live-chat url-id="chat-room-1" />
Кількість коментарів
<x-fastcomments-comment-count url-id="my-page-id" />
<x-fastcomments-comment-count url-id="my-page-id" :number-only="true" />
Єдиний вхід (SSO) 
Увімкніть SSO у вашому .env:
FASTCOMMENTS_API_KEY=your-api-key
FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure
API-ключ потрібен для режиму secure SSO — він використовується для підписування SSO-даних.
Відображення на основі конфігурації
У файлі config/fastcomments.php зіставте поля FastComments з атрибутами вашої моделі User:
'sso' => [
'enabled' => true,
'mode' => 'secure',
'user_map' => [
'id' => 'id',
'email' => 'email',
'username' => 'name',
'avatar' => 'profile.avatar_url', // підтримується точкова нотація
],
'is_admin' => fn ($user) => $user->hasRole('admin'),
'is_moderator' => fn ($user) => $user->hasRole('moderator'),
],
Відображення на основі інтерфейсу
Щоб мати більший контроль, реалізуйте інтерфейс 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->display_name,
'avatar' => $this->avatar_url,
'is_admin' => $this->hasRole('admin'),
];
}
}
Коли інтерфейс реалізовано, він має пріоритет над відображенням, заданим у конфігурації.
SSO у Blade
Коли SSO увімкнено, компонент <x-fastcomments /> автоматично додає SSO-дані для автентифікованого користувача.
Доступ до API 
Через фасад
use FastComments\Laravel\Facades\FastComments;
// Адмінський API (потребує API-ключ)
$comments = FastComments::admin()->getComments('tenant-id');
// Публічний API
$comments = FastComments::publicApi()->getCommentsPublic('tenant-id', 'url-id');
// SSO
$ssoPayload = FastComments::sso()->forWidget();
$token = FastComments::sso()->tokenFor($user);
Через ін'єкцію залежностей
use FastComments\Laravel\FastCommentsManager;
class CommentController extends Controller
{
public function index(FastCommentsManager $fc)
{
$comments = $fc->admin()->getComments($fc->tenantId());
// ...
}
}
Прямий доступ до SDK
use FastComments\Client\Api\DefaultApi;
class CommentController extends Controller
{
public function index(DefaultApi $api)
{
$comments = $api->getComments('tenant-id');
// ...
}
}
Довідник конфігурації 
| Ключ | Змінна середовища | За замовчуванням | Опис |
|---|---|---|---|
tenant_id |
FASTCOMMENTS_TENANT_ID |
'' |
Ідентифікатор вашого орендаря FastComments |
api_key |
FASTCOMMENTS_API_KEY |
'' |
API-ключ для серверних викликів |
region |
FASTCOMMENTS_REGION |
null |
null (США) або 'eu' |
sso.enabled |
FASTCOMMENTS_SSO_ENABLED |
false |
Увімкнути SSO |
sso.mode |
FASTCOMMENTS_SSO_MODE |
'secure' |
'secure' або 'simple' |
sso.login_url |
FASTCOMMENTS_SSO_LOGIN_URL |
null |
URL входу (за замовчуванням використовується маршрут Laravel) |
sso.logout_url |
FASTCOMMENTS_SSO_LOGOUT_URL |
null |
URL виходу (за замовчуванням використовується маршрут Laravel) |
widget_defaults |
— | [] |
Параметри конфігурації віджету за замовчуванням |
| --- |
Потрібна допомога?
Якщо ви зіткнулися з будь-якими проблемами або маєте питання щодо Laravel Package, будь ласка:
Внески
Внески вітаються! Будь ласка, відвідайте репозиторій GitHub для інструкцій щодо внеску.