yii2-abtest A smple A/B Test extension for Yii2

  1. Installing
  2. Adding it to your configuration
  3. Using it

A simple extension for writing A/B Tests in Yii2.

This extension does not include the hooks for various programs, but does allow you to list() so you can quickly add it to your analytics code.

Installing ¶

Simply include it from composer:

php ./composer.phar require sammaye/yii2-abtest:"@stable"

Adding it to your configuration ¶

Easiest thing is to just show an example of my configuration:

'test' => [
	'class' => 'sammaye\abtest\Test',
	'filter' => [
		'rules' => [
			[
				'allow' => false,
				'roles' => ['staff']
			]
		]
	],
	'tests' => [
		[
			'name' => 'Beta Search',
			'values' => ['old', 'new'],
			'default' => 'new'
		]
	]
],

The configuration breaks down into two parameters:- filter and tests.

Only tests is required.

filter allows you to use the AccessControl like you would on any controller and provide a set of rules whereby the tests should not take effect.

When an 'allow' => false filter is matched the test will return the default parameter from the test you are looking at and will not not record it in $_SESSION.

This way, when you come to list() at the end of the page to push onwards for analytics, these tests will not appear in that list.

Using it ¶

Once it is fully configured you can just use it to detect which path a user takes:

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

This function will return either old or new depending on whether I am a staff member or lady random chooses me.

In order to add it to your analytics code you need to list all active tests and their values:

Yii::$app->test->list()

This will then print out a list of (for me):

[
    'Old Search' => 'new'
]

So, the key is name of the test and the value is the selected variant of the test.

0 0
3 followers
0 downloads
Yii Version: 2.0
License: BSD-2-Clause
Category: Logging
Tags: abtest
Developed by: Sammaye Sammaye
Created on: Nov 3, 2016
Last updated: 9 years ago