clearlyip / laravel-flagsmith
Laravel 的 Flagsmith 客户端
3.1.1
2024-08-29 17:07 UTC
Requires
- php: ^8.2
- flagsmith/flagsmith-php-client: ^4.4.0
- laravel/framework: ^10.44.0 || ^11.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.8.1
- guzzlehttp/psr7: ^2.6.2
- orchestra/testbench: ^8.23.0 || ^9.0.0
- phpunit/phpunit: ^10.5.25
- squizlabs/php_codesniffer: ^3.10.1
- vimeo/psalm: ^5.25.0
README
Laravel-flagsmith 由 Andrew Nagy 创建并维护,该软件包旨在允许 Laravel 与 Flagsmith 一起工作
功能
- 提供了一个特质,可以基于 Laravel 用户(Flagsmith 身份)获取标志
- 利用 Laravel 的队列系统在后台更新标志
- 利用 Laravel 的缓存系统将标志存储在缓存中以供快速访问
- 利用 Laravel 的任务调度系统按计划更新标志
- 添加了一个路由,利用 Flagsmith 的网关来更新标志变化时的缓存
安装与使用
需要 PHP 8.2+
使用 Composer 安装 Laravel-flagsmith
composer require clearlyip/laravel-flagsmith
Laravel 版本兼容性
用法
配置文件
- 使用 Artisan 命令
vendor:publish
发布 Laravel Flagsmith 配置文件。配置文件将放置在您的config
目录中(使用--force
覆盖您现有的clearly
配置文件)php artisan vendor:publish --tag="flagsmith" [--force]
所有选项都在配置文件中进行了全面文档化
用户
建议将接口 Clearlyip\LaravelFlagsmith\Contracts\UserFlags
添加到您的用户模型中。这将使您能够直接从用户对象中访问标志。
您可以将以下特质 Clearlyip\LaravelFlagsmith\Concerns\HasFlagss
添加到您的用户模型中,以满足 UserFlags
的要求
在用户首次登录时,通过队列同步用户标志,以尽可能保持其最新状态
获取用户的全部标志
$user = Auth::user(); $flags = $user->getFlags();
检查标志是否为用户启用
可以添加一个可选的第二个参数作为默认值,如果标志不存在则使用该值
$user = Auth::user(); $flags = $user->isFlagEnabled('foo');
获取用户的标志值
可以添加一个可选的第二个参数作为默认值,如果标志不存在则使用该值
$user = Auth::user(); $vakue = $user->getFlagValue('foo');
访问
可以通过 Laravel 的容器访问 Flagsmith 类。返回的类是 flagsmith-php-client
$flagsmith = App::make(Flagsmith::class);