praveenmenezes/laravel-flagsmith

适用于 Laravel 6+ 的 Flagsmith 包装器

1.0.7 2022-12-05 08:02 UTC

README

Laravel Flagsmith 是一个轻量级的 Flagsmith 库,适用于 Laravel 6+PHP 7.4+

入门指南

  • app.flagsmith.com 上注册并创建一个应用
  • 在左侧边栏中,导航到设置页面并打开“密钥”选项卡
  • 生成新的服务器端环境密钥
  • 复制密钥并将其分配给项目 .env 或 docker env 中的 FLAGSMITH_API_KEY=

安装

在您的 Laravel 项目中,执行以下步骤

  • 使用 composer 安装库

composer require praveenmenezes/laravel-flagsmith

  • (可选) 在 config/app.php 中注册 Kafka 服务提供者

    注意:这将从 composer.json 中自动加载

'providers' => [
    ...,
    /**
    * Third party Service Providers
    */
   Menezes\LaravelFlagsmith\Providers\FlagsmithServiceProvider::class,
],

'alias' => [
    ...,
    // Third party aliases
    'Flagsmith' => Menezes\LaravelFlagsmith\Services\Flagsmith::class,
]
  • 开始使用 Flagsmith 类,如以下 示例 所示
<?php
use Flagsmith;
// OR //
use Menezes\LaravelFlagsmith\Services\Flagsmith;


// Create your first feature. Let's call it "is_google_signup_enabled" and set it to true //
$flag = "is_google_signup_enabled";
$is_google_signup_enabled = Flagsmith::isEnabled($flag);
dump(compact("is_google_signup_enabled")); // true


// Creating another key "btn_lbl_google_sign_up" with a custom value //
$flag = "btn_lbl_google_sign_up";
$btn_lbl_google_sign_up = Flagsmith::getValue($flag);
dump(compact("btn_lbl_google_sign_up")); // Google


// |------- IDENTITY/USER BASED FLAGS -------| //

// This time we're creating an identitiy specific flag.
// We'll disable Google signup button for this user/identity in Flagsmith //
$flag = "is_google_signup_enabled";
$identity = "user_123456";
$is_google_signup_enabled = Flagsmith::isIdentityEnabled($flag, $identity);
dump(compact("is_google_signup_enabled")); // false


// Setting a custom value for this user/identity for "btn_lbl_google_sign_up" //
$flag = "btn_lbl_google_sign_up";
$identity = "user_123456";
$is_google_signup_enabled = Flagsmith::getIdentityValue($flag, $identity);
dump(compact("is_google_signup_enabled")); // Not Google

示例

查看 Laravel 6 示例

许可证

Laravel Flagsmith 库是免费软件,根据 MIT 许可证发布。有关详细信息,请参阅 LICENSE.txt