convertim/variantretriever

v1.0.0 2022-02-18 15:38 UTC

This package is auto-updated.

Last update: 2024-09-28 16:46:42 UTC


README

VariantRetriever 是一个用于功能标志的最简包。它是一个快速、无数据库和幂等的库,用于从一组变体中选择。

入门

首先,您需要定义一个实验,包含一个名称和它的一些变体。变体需要两个参数,一个名称和一个部署百分比(默认为50%)。然后,使用这个实验和变体创建一个变体检索器,并请求它为资源检索一个变体(在下面的代码中,是对用户uuid的检索)。

$variantRetriever = new VariantRetriever();
$experiment = new Experiment('my-ab-test', ...[new Variant('control1'), new Variant('variant2')]);
$variantRetriever->addExperiment($experiment);

$affectedVariant = $variantRetriever->getVariantForExperiment(new Experiment('my-ab-test'), '77d8a1d5-97ba-42db-a4a7-3b9562f0ff22');

var_dump((string) $affectedVariant); // string(7) "variant2"

运行测试套件

VariantRetriever 使用 Pest PHP 作为测试框架。通过 composer install 安装所有依赖项后,您可以使用以下命令运行测试套件

.php phing tests

为了获取代码覆盖率报告,您需要安装 xdebug。然后,您可以运行

.php phing tests-coverage

这将为您提供有关代码覆盖的详细信息。

关于速度

VariantRetriever 很快。在我们的测试中,我们确保检索器能够在不到1秒内随机生成50,000个变体。本地开发机器可以在不到一秒内运行500,000次运行。

关于随机性