, (*1)
Sixpack
PHP client library for SeatGeak's Sixpack ab testing framework., (*2)
Installation
Simply clone the project and include sixpack.php to your PHP Project, (*3)
Usage
ALL THIS IS OUT OF DATE, (*4)
Basic example:, (*5)
The PHP client stores a unique client id in the current user's cookie by default., (*6)
$sp = new \Seatgeek\Sixpack\Session;
$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 behavoir, you can do so like this:, (*7)
$sp = new \Seatgeek\Sixpack\Session;
$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:, (*8)
$client_id = get_from_database("sixpack-id")
$sp = new \Seatgeek\Sixpack\Session(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, (*9)
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., (*10)
http://example.com/?sixpack-force-<experiment name>=<alternative name>, (*11)
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