innocraft/php-experiments
Composer 安装命令:
composer require --dev innocraft/php-experiments
包简介
PHP Experiments is a library that lets you run A/B and split tests
关键字:
README 文档
README
Code Status
Introduction
PHP Experiments is built for A/B and Split Testing for Matomo Analytics but can be used in any PHP project. Matomo (formerly Piwik) is the leading open source web analytics platform used on over 1 million websites and apps in over 150 countries. InnoCraft is the company of the makers of Matomo Analytics.
Features
- Easily create and run A/B tests and split tests.
- Experiment traffic allocation: For example configure that only 80% of all users should participate in an experiment.
- Variation traffic allocation: For example allocate more traffic to some specific variations, giving other variations less traffic.
- When a user enters an experiment for the first time, a variation will be chosen randomly. On all subsequent requests the same variation will be activated.
- Possibility to force a specific variation instead of choosing it randomly.
- To ensure a user always gets to see the same variation, the name of the activated variation is stored in a cookie, a custom storage can be configured.
- Easy to use with plain arrays and easily extensible and customizable (custom storage, filters and variations can be defined).
- Tested with unit tests.
- No dependencies, lightweight, simple.
Example
See examples directory for various examples.
Running an A/B test might be as easy as:
$variations = [['name' => 'green'], ['name' => 'blue']]; $experiment = new Experiment('experimentName', $variations); $activated = $experiment->getActivatedVariation(); echo $activated->getName();
Running a split URL test can be as easy as:
$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();
Requirements
- PHP 5.5.9 or greater
Installation
To get the latest version, require the library using Composer:
$ composer require innocraft/php-experiments
Instead, you may manually update your require block and run composer update if you so choose:
{
"require": {
"innocraft/php-experiments": "^1.0"
}
}
License
PHP Experiments is released under the LGPL v3 license, see LICENSE.
Developer
Docs generation
To update the documentation within the docs directory execute the following commands
cd docscomposer install(only needed once)./generateDocs.sh
innocraft/php-experiments 适用场景与选型建议
innocraft/php-experiments 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 252.45k 次下载、GitHub Stars 达 26, 最近一次更新时间为 2016 年 12 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「testing」 「tests」 「split」 「a-b」 「experiments」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 innocraft/php-experiments 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 innocraft/php-experiments 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 innocraft/php-experiments 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Testing Suite For Lumen like Laravel does.
A cli tool which generates unit tests.
A server-side A/B/n testing tool
Swoole server process management
Laravel tool benchmark
A library that allows you to easily use the PHP-VCR library in your PHPUnit tests.
统计信息
- 总下载量: 252.45k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 27
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: LGPL-3.0
- 更新时间: 2016-12-21