innocraft / php-experiments
PHP Experiments 是一个库,允许您运行 A/B 和拆分测试
1.0.3
2024-04-08 11:19 UTC
Requires
- php: >=5.5.9
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is not auto-updated.
Last update: 2024-09-14 20:09:41 UTC
README
代码状态
简介
PHP Experiments 是为 Matomo Analytics 的 A/B 和拆分测试 构建的,但可以用于任何 PHP 项目。 Matomo(前称 Piwik) 是一个领先的开放式网络分析平台,被超过 150 个国家的 100 多万个网站和应用使用。 InnoCraft 是 Matomo Analytics 制造商的公司。
特性
- 轻松创建和运行 A/B 测试和拆分测试。
- 实验流量分配:例如,配置只有 80% 的所有用户应参与实验。
- 变体流量分配:例如,为某些特定的变体分配更多流量,为其他变体分配较少的流量。
- 当用户首次进入实验时,将随机选择一个变体。在所有后续请求中,将激活相同的变体。
- 可以强制选择特定的变体而不是随机选择。
- 为了确保用户总是看到相同的变体,激活的变体名称存储在 cookie 中,可以配置自定义存储。
- 使用纯数组轻松使用,易于扩展和自定义(可以定义自定义存储、过滤器变体)。
- 通过单元测试进行测试。
- 无依赖项,轻量级,简单。
示例
请参阅 示例目录 以获取各种示例。
运行 A/B 测试可能像这样简单
$variations = [['name' => 'green'], ['name' => 'blue']]; $experiment = new Experiment('experimentName', $variations); $activated = $experiment->getActivatedVariation(); echo $activated->getName();
运行拆分 URL 测试可能像这样简单
$variations = [ ['name' => 'layout1', 'url' => '/layout1'], ['name' => 'layout2', 'url' => '/layout2'] ]; $experiment = new Experiment('experimentName', $variations); $activated = $experiment->getActivatedVariation(); // redirects to either URL or does nothing if the original version was activated $activated->run();
要求
- PHP 5.5.9 或更高版本
安装
要获取最新版本,请使用 Composer 引入库
$ composer require innocraft/php-experiments
或者,您可以选择手动更新 require 块并运行 composer update
{
"require": {
"innocraft/php-experiments": "^1.0"
}
}
许可证
PHP Experiments 在 LGPL v3 许可下发布,请参阅 LICENSE。
开发者
生成文档
要更新 docs 目录中的文档,请执行以下命令
cd docscomposer install(仅需要一次)./generateDocs.sh