clearlyip/laravel-flagsmith

Laravel 的 Flagsmith 客户端

3.1.1 2024-08-29 17:07 UTC

README

Laravel-flagsmith 由 Andrew Nagy 创建并维护,该软件包旨在允许 Laravel 与 Flagsmith 一起工作

Total Downloads Latest Stable Version License

功能

  • 提供了一个特质,可以基于 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);