FastComments.com Blog

Mon Mar 02 2026
...

官方Laravel套件發布

新聞資訊

我們很高興地宣布我們的官方Laravel套件 fastcomments/laravel 已經發布。如果您正在使用Laravel並希望在您的應用程序中添加評論、即時聊天或評論計數,您現在可以通過一個Composer安裝和幾個Blade元件來完成。

該套件支持Laravel 10、11和12,需使用PHP 8.1以上版本。

開始使用

使用Composer安裝:

composer require fastcomments/laravel

然後將您的租戶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" />

每個元件都支持 urllocalereadonlyhas-dark-backgrounddefault-sort-direction 等屬性。腳本異步加載並去重,因此您可以安全地在同一頁面上放置多個小工具。

自動SSO

可以通過兩個環境變量啟用SSO:

FASTCOMMENTS_SSO_ENABLED=true
FASTCOMMENTS_SSO_MODE=secure

一旦啟用,評論和即時聊天元件會自動讀取 Auth::user() 並將簽名的SSO有效負載注入小工具配置中。已登入的用戶無縫驗證。訪客則看到默認指向您的Laravel loginlogout 命名路由的登錄和登出連結。

有兩種方法控制您的用戶模型如何映射到FastComments用戶數據:

基於配置的映射 - 在 config/fastcomments.php 中設置屬性名稱(包括點表示法)或可調用對象:

'user_map' => [
    'id' => 'id',
    'email' => 'email',
    'username' => 'name',
    'avatar' => 'profile_photo_url',
],

基於介面的映射 - 在您的用戶模型上實現 MapsToFastCommentsUser 以實現完全控制:

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整合

該套件還用一個門面、依賴注入和直接的SDK客戶端注入來包裝FastComments API:

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上。

如果您有任何反饋,請在下方告訴我們!

祝好!