seatgeek / sixpack-php
Sixpack A/B testing framework client
Installs: 204 644
Dependents: 0
Suggesters: 0
Security: 0
Stars: 74
Watchers: 28
Forks: 14
pkg:composer/seatgeek/sixpack-php
Requires
- php: >=5.3.0
 
This package is not auto-updated.
Last update: 2025-11-03 17:22:05 UTC
README
Sixpack
PHP client library for SeatGeak's Sixpack ab testing framework.
Installation
- Install Composer
 - In the root of your project install sixpack via 
composer require seatgeek/sixpack-php - In your php script put 
require 'vendor/autoload.php';at the top so sixpack is loaded. 
Usage
Basic example:
The PHP client stores a unique client id in the current user's cookie by default.
require 'vendor/autoload.php'; $sp = new \SeatGeek\Sixpack\Session\Base; $alt = $sp->participate('test', array('blue', 'red'))->getAlternative(); if ($alt == 'blue') { /* do something blue */ } else { /* do somethign red */ }
Each session has a client_id associated with it that must be preserved across requests. The PHP client handles this automatically. If you'd wish to change that behavior, you can do so like this:
require 'vendor/autoload.php'; $sp = new \SeatGeek\Sixpack\Session\Base; $resp = $sp->participate("new-test", array("alternative-1", "alternative-2")); store_in_database("sixpack-id", $resp->getClientId());
For future requests, create the Session using the client_id stored in the cookie:
require 'vendor/autoload.php'; $client_id = get_from_database("sixpack-id") $sp = new \SeatGeek\Sixpack\Session\Base(array('clientId' => $client_id)); $sp->convert('new-test');
Other possible options for the Session constructor are:
- baseUrl - Sixpack Server's location on the web
 - cookiePrefix - you can set a different prefix for the cookie if you like. Default is 
sixpack 
If you'd like to force the Sixpack server to return a specific alternative for development or testing, you can do so by passing a query parameter named sixpack-force to that page being tested.
http://example.com/?sixpack-force-<experiment name>=<alternative name>
Contributing
- Fork it
 - Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
 
License
sixpack-php is released under the BSD 2-Clause License.