mobihouse / laravel-pennant-cookie
Laravel Pennant 的 Cookie 驱动程序
1.0.0
2024-08-12 08:18 UTC
Requires
- laravel/pennant: ^1.10
Requires (Dev)
- orchestra/pest-plugin-testbench: ^2.0
- orchestra/testbench: ^9.2
- pestphp/pest: ^2.34
This package is not auto-updated.
Last update: 2024-09-23 08:52:54 UTC
README
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