mobihouse/laravel-pennant-cookie

Laravel Pennant 的 Cookie 驱动程序

1.0.0 2024-08-12 08:18 UTC

This package is not auto-updated.

Last update: 2024-09-23 08:52:54 UTC


README

Packagist License Packagist Version

Laravel Pennant - Cookie 驱动程序

此包可以将 Laravel Pennant 的功能标志/值存储在 Cookie 中,这使得您可以为匿名用户保留持久值。

重要

此驱动程序最适合跟踪匿名用户,如果您想跟踪实际用户,则使用数据库驱动程序会更有益。

用法

使用以下命令安装包:

composer require mobihouse/laravel-pennant-cookie

然后通过在 config/pennant.php 配置文件中添加新的存储配置来配置它

return [

    'stores' => [
        
        // ...
        'cookie' => [
            'driver' => 'cookie'
        ]

    ]

]

配置存储后,将您的 PENNANT_STORE 环境变量设置为 cookie(或在 Pennant 配置中将 default 键设置为 cookie)。

范围

Laravel Pennant 默认会尝试使用 auth 范围,因此会查找当前用户。虽然驱动程序可以与它一起工作,但这不是它的预期用途,因此使用匿名范围的最简单方法是设置默认范围为 null

<?php
 
namespace App\Providers;
 
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\ServiceProvider;
use Laravel\Pennant\Feature;
 
class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        Feature::resolveScopeUsing(fn () => null);
 
        // ...
    }
}

选项

默认情况下,设置的 Cookie 将会持续一年,如果您想更改默认的有效期,可以在配置中执行以下操作:

return [

    'stores' => [
        'cookie' => [
            'driver' => 'cookie',
            'lifetime' => 3600, // Live for one hour
        ]
    ]

]

测试

通过以下方式运行自动化测试:

./vendor/bin/pest