phpab / analytics-mongodb
在 MongoDB 中存储 PhpAB 测试参与情况
dev-master
2016-05-02 21:19 UTC
Requires
- php: ~5.5|~7.0
- ext-mongodb: 1.1.*
- mongodb/mongodb: ^1.0.0
- phpab/phpab: dev-master
Requires (Dev)
- phpunit/phpunit: 4.*
- squizlabs/php_codesniffer: ^2.5
This package is not auto-updated.
Last update: 2024-09-14 18:26:26 UTC
README
在 MongoDB 中存储 PhpAb 测试参与情况。
注意:此工具与 MongoDB 兼容,但不与旧版 Mongo 库兼容。
安装
通过 Composer
$ composer require phpab/analytics-mongodb
使用方法
完整的 PhpAB 示例使用方法。
use PhpAb\Storage\Cookie; use PhpAb\Participation\Manager; use PhpAb\Analytics\DataCollector\Generic; use PhpAb\Event\Dispatcher; use PhpAb\Participation\Filter\Percentage; use PhpAb\Variant\Chooser\RandomChooser; use PhpAb\Variant\SimpleVariant; use PhpAb\Variant\CallbackVariant; use PhpAb\Engine\Engine; use PhpAb\Test\Test; $storage = new Cookie('phpab'); $manager = new Manager($storage); $analyticsData = new Generic(); $dispatcher = new Dispatcher(); $dispatcher->addSubscriber($analyticsData); $filter = new Percentage(50); $chooser = new RandomChooser(); $engine = new Engine($manager, $dispatcher, $filter, $chooser); $test = new Test('foo_test'); $test->addVariant(new SimpleVariant('_control')); $test->addVariant(new CallbackVariant('v1', function () { echo 'v1'; })); $test->addVariant(new CallbackVariant('v2', function () { echo 'v2'; })); $test->addVariant(new CallbackVariant('v3', function () { echo 'v3'; })); // Add some tests $engine->addTest($test); $engine->start(); // Here starts MongoDB interaction // Provide a MongoDB Collection to be injected $mongoCollection = (new \MongoDB\Client)->phpab->run; // Inject together with Analytics Data $analytics = new \PhpAb\Analytics\MongoDB( $analyticsData->getTestsData(), $mongoCollection ); // Store it providing a user identifier and a scenario // typically a URL or a controller name $result = $analytics->store('1.2.3.4-abc', 'homepage.php'); var_dump($result);
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 和 CONDUCT 了解详细信息。
安全
如果您发现任何安全相关的问题,请在问题跟踪器中打开一个问题。我们认识到这不是最佳做法,但这是解决问题的最快方式。
致谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。