travaux-com/variantretriever

1.0.3 2020-11-09 11:06 UTC

This package is auto-updated.

Last update: 2024-09-27 14:35:59 UTC


README

VariantRetriever


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 安装了所有依赖项,您就可以运行测试套件:

./vendor/bin/pest

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

./vendor/bin/pest --coverage

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

关于速度如何

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

关于随机性如何