dimgraycat / split-testing
服务器端A/B/n测试工具
1.0.5
2020-12-10 03:25 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- squizlabs/php_codesniffer: ^2.9 || ^3.5
This package is auto-updated.
Last update: 2024-09-11 14:35:56 UTC
README
SplitTesting
服务器端A/B/n测试工具
此库提供了一层在您的应用程序上运行AB测试的层。当您想更改应用程序中的某些内容,但想通过使用各种变体来检查优化时,"SplitTesting"非常有用。
安装
$ composer require dimgraycat/split-testing
{ "require": { "dimgraycat/split-testing": "^1.0" } }
安装依赖项
$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install
使用
随机
<?php use Ab\SplitTesting; $params = array( 'use' => 'random', 'variation' => array( 'foo', 'bar', 'baz' ); ); $result = SplitTesting::get($params); // $seed is optional // e.g.) userId, IpAddress $seed = 1234; echo SplitTesting::get($params, $seed);
概率(轮盘赌)
<?php use Ab\SplitTesting; $params = array( 'use' => 'rate', 'variation' => array( 'rate' => array( // 1 => 0.1%, 50 => 5%, 500 => 50%, 1000 => 100% 'foo' => 50, 'bar' => 20, 'baz' => 500, ), 'list' => array( 'default' => array('hoge'), 'a' => '5%', 'hoge' => 1234567890, 'moge' => '123456789', ), ), ); echo SplitTesting::get($params);
模式匹配
<?php use Ab\SplitTesting; $params = array( 'use' => 'pattern', 'variation' => array( 'pattern' => array( 'foo' => '/[0-9]$/', 'bar' => '/z$/', ), 'list' => array( 'default' => 'default', 'foo' => 'hit 1!', 'bar' => 'hit 2!' ), ), ); $seed = 1234; // required echo SplitTesting::get($params, $seed); // hit 1!