convertim / variantretriever
v1.0.0
2022-02-18 15:38 UTC
Requires
- php: >=5.6
Requires (Dev)
- phing/phing: 2.*
- php-parallel-lint/php-parallel-lint: ^1.3
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: 3.6.2
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次运行。