FastComments.com

Laravel Uygulamanıza Yorum Ekleyin

Bu, FastComments için resmi Laravel paketidir.

Laravel uygulamanıza canlı yorum, sohbet ve daha fazlasını ekleyin.

Depo

GitHub'da Görüntüle


Yapay Zeka kodlama ajanları Internal Link

skills.sh

Kodlama ajanınıza FastComments bağlamını sağlayın - widget'lar, yapılandırma, Güvenli SSO, REST API ve SDK'lar:

npx skills add fastcomments/skills

Claude Code, Codex, Cursor, Copilot, Gemini ve skills CLI tarafından desteklenen diğer tüm ajanlarla çalışır.

Gereksinimler Internal Link


  • PHP 8.1+
  • Laravel 10, 11 veya 12

Kurulum Internal Link

composer require fastcomments/laravel

Yapılandırma dosyasını yayımla:

php artisan vendor:publish --tag=fastcomments-config

Kimlik bilgilerinizi .env dosyasına ekleyin:

FASTCOMMENTS_TENANT_ID=your-tenant-id
FASTCOMMENTS_API_KEY=your-api-key

AB bölgesi için:

FASTCOMMENTS_REGION=eu

Blade Bileşenleri Internal Link

Yorum Bileşeni

<x-fastcomments />

\{{-- Seçeneklerle --}}
<x-fastcomments
    url-id="my-page-id"
    url="https://example.com/my-page"
    locale="en_us"
    :has-dark-background="true"
    default-sort-direction="MR"
/>

Canlı Sohbet

<x-fastcomments-live-chat url-id="chat-room-1" />

Yorum Sayısı

<x-fastcomments-comment-count url-id="my-page-id" />
<x-fastcomments-comment-count url-id="my-page-id" :number-only="true" />

SSO Internal Link

SSO'yu .env dosyanızda etkinleştirin:

FASTCOMMENTS_API_KEY=your-api-key
FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure

Güvenli SSO için API anahtarı gereklidir — SSO yükünü imzalamak için kullanılır.

Yapılandırma Tabanlı Eşleme

config/fastcomments.php içinde, FastComments alanlarını User modelinizin özelliklerine eşleyin:

'sso' => [
    'enabled' => true,
    'mode' => 'secure',
    'user_map' => [
        'id' => 'id',
        'email' => 'email',
        'username' => 'name',
        'avatar' => 'profile.avatar_url', // nokta gösterimi desteklenir
    ],
    'is_admin' => fn ($user) => $user->hasRole('admin'),
    'is_moderator' => fn ($user) => $user->hasRole('moderator'),
],

Arayüz Tabanlı Eşleme

Daha fazla kontrol için, User modelinizde MapsToFastCommentsUser arayüzünü uygulayın:

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'),
        ];
    }
}

Arayüz uygulandığında, yapılandırma tabanlı eşleme üzerinde öncelik kazanır.

Blade'de SSO

SSO etkinleştirildiğinde, <x-fastcomments /> bileşeni kimlik doğrulmuş kullanıcı için SSO verilerini otomatik olarak ekler.

API Erişimi Internal Link

Facade Üzerinden

use FastComments\Laravel\Facades\FastComments;

// Yönetici API'si (API anahtarı gerektirir)
$comments = FastComments::admin()->getComments('tenant-id');

// Herkese Açık API
$comments = FastComments::publicApi()->getCommentsPublic('tenant-id', 'url-id');

// Tek Oturum Açma (SSO)
$ssoPayload = FastComments::sso()->forWidget();
$token = FastComments::sso()->tokenFor($user);

Bağımlılık Enjeksiyonu ile

use FastComments\Laravel\FastCommentsManager;

class CommentController extends Controller
{
    public function index(FastCommentsManager $fc)
    {
        $comments = $fc->admin()->getComments($fc->tenantId());
        // ...
    }
}

Doğrudan SDK Erişimi

use FastComments\Client\Api\DefaultApi;

class CommentController extends Controller
{
    public function index(DefaultApi $api)
    {
        $comments = $api->getComments('tenant-id');
        // ...
    }
}

Yapılandırma Referansı Internal Link


AnahtarOrtam DeğişkeniVarsayılanAçıklama
tenant_idFASTCOMMENTS_TENANT_ID''FastComments kiracı kimliğiniz
api_keyFASTCOMMENTS_API_KEY''Sunucu tarafı çağrıları için API anahtarı
regionFASTCOMMENTS_REGIONnullnull (ABD) veya 'eu'
sso.enabledFASTCOMMENTS_SSO_ENABLEDfalseSSO'yu etkinleştir
sso.modeFASTCOMMENTS_SSO_MODE'secure''secure' veya 'simple'
sso.login_urlFASTCOMMENTS_SSO_LOGIN_URLnullGiriş URL'si (Laravel rotasına geri döner)
sso.logout_urlFASTCOMMENTS_SSO_LOGOUT_URLnullÇıkış URL'si (Laravel rotasına geri döner)
widget_defaults[]Varsayılan widget yapılandırma seçenekleri

Görünümleri Özelleştirme Internal Link

Blade şablonunu özelleştirmek için:

php artisan vendor:publish --tag=fastcomments-views

Şablonlar resources/views/vendor/fastcomments/ dizinine yayımlanacaktır.


Yardıma mı ihtiyacınız var?

Laravel Paketi ile ilgili herhangi bir sorunla karşılaşırsanız veya sorularınız varsa, lütfen:

Katkıda Bulunma

Katkılar memnuniyetle kabul edilir! Katkı yönergeleri için lütfen GitHub deposunu ziyaret edin.