萨姆梅耶/yii2-abtest

此包的最新版本(2.0.0)没有提供许可证信息。

为Yii2编写的通用A/B测试处理器

安装次数1,214

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 3

分叉: 2

开放性问题: 1

类型:yii2-extension

2.0.0 2016-11-18 16:16 UTC

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'
		]
	]
],

配置分为两个参数:- filtertests

只需要tests

filter允许您像在任何控制器中使用AccessControl一样使用它,并提供一组规则,以便测试不应生效。

当匹配到'allow' => false的过滤器时,测试将返回您正在查看的测试的default参数,并且不会在$_SESSION中记录它。

这样,当您在页面末尾使用list()继续分析时,这些测试将不会出现在该列表中。

使用方法

一旦完全配置,您就可以用它来检测用户选择的路径

Yii::$app->test->value('Beta Search')

此函数将返回oldnew,具体取决于我是工作人员还是随机选择了我。

为了将其添加到您的分析代码中,您需要列出所有活动测试及其值

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