divineomega/php-bucket-testing

This library enables developers to easily redirect users to different URLs, for the purpose of bucket testing. Bucket testing is also known as A/B testing or split testing. This type of testing is used to test two or more versions of a webpage to determine which one performs better based on specfied

Fund package maintenance!
DivineOmega

v2.0.0 2018-09-06 15:31 UTC

This package is auto-updated.

Last update: 2024-12-07 05:49:56 UTC


README

Build Status Coverage Status

This library enables developers to easily redirect users to different URLs, for the purpose of bucket testing. Bucket testing is also known as A/B testing or split testing.

This type of testing is used to test two or more versions of a webpage to determine which one performs better based on specfied key metrics, such as clicks, downloads, purchases or any other form of conversion.

Features

  • Random selection of buckets, with optional weights
  • Automatic handling of temporary redirects
  • Ability to retrieve bucket and manually handle URL redirection
  • Easy to use fluent interface syntax

Installation

To install, just run the following composer command.

composer require divineomega/php-bucket-testing

Remember to include the vendor/autoload.php file if your framework does not already do so.

Usage

use \DivineOmega\BucketTesting\BucketManager;
use \DivineOmega\BucketTesting\Bucket;

// Create a new bucket manager
$bucketManager = new BucketManager;

// Add buckets, with URLs and optional weights
$bucketManager->add(new Bucket('https://google.co.uk/'))->withWeight(25);
$bucketManager->add(new Bucket('https://php.net/'))->withWeight(75);

// Redirect to a randomly selected URL
$bucketManager->redirect();

// Or, if you wish, get a random bucket and manually handle the redirection
$bucket = $bucketManager->getRandomBucket();
header('location: '.$bucket->url);