萨姆梅耶 / yii2-abtest
此包的最新版本(2.0.0)没有提供许可证信息。
为Yii2编写的通用A/B测试处理器
2.0.0
2016-11-18 16:16 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 19:58:32 UTC
README
这是一个用于在Yii2中编写A/B测试的简单扩展。
此扩展不包括各种程序的钩子,但允许您使用list()
,这样您可以快速将其添加到您的分析代码中。
安装
只需从composer包含它
php ./composer.phar require sammaye/yii2-abtest:"@stable"
将其添加到配置中
最简单的方法是展示我的配置示例
'test' => [
'class' => 'sammaye\abtest\Test',
'filter' => [
'rules' => [
[
'allow' => false,
'roles' => ['staff']
]
]
],
'tests' => [
[
'name' => 'Beta Search',
'values' => ['old', 'new'],
'default' => 'new'
]
]
],
配置分为两个参数:- filter
和tests
。
只需要tests
。
filter
允许您像在任何控制器中使用AccessControl
一样使用它,并提供一组规则,以便测试不应生效。
当匹配到'allow' => false
的过滤器时,测试将返回您正在查看的测试的default
参数,并且不会在$_SESSION
中记录它。
这样,当您在页面末尾使用list()
继续分析时,这些测试将不会出现在该列表中。
使用方法
一旦完全配置,您就可以用它来检测用户选择的路径
Yii::$app->test->value('Beta Search')
此函数将返回old
或new
,具体取决于我是工作人员还是随机选择了我。
为了将其添加到您的分析代码中,您需要列出所有活动测试及其值
Yii::$app->test->list()
然后这将打印出以下列表(对我来说)
[
'Old Search' => [
'name' => 'Old Search',
'value' => 'old' // active
// custom data could be housed
// here from the configuration like "goal"
]
]
因此,关键是测试的名称,值是配置对象,但用只有活动的value
替换了values
。