seatgeek/sixpack-php

Sixpack A/B 测试框架客户端

安装量: 182,671

依赖: 0

建议: 0

安全: 0

星标: 75

关注者: 30

分支: 14

2.1 2016-07-20 15:49 UTC

README

Build Status Latest Stable Version

Sixpack

SeatGeek 的 Sixpack A/B 测试框架的 PHP 客户端库。

安装

  1. 安装 Composer
  2. 在项目根目录下通过 composer require seatgeek/sixpack-php 安装 sixpack。
  3. 在您的 PHP 脚本中,将 require 'vendor/autoload.php'; 放在顶部以便加载 sixpack。

用法

基本示例

PHP 客户端默认将唯一的客户端 ID 存储在当前用户的 cookie 中。

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 */
}

每个会话都关联一个 client_id,该 ID 必须在请求间保持不变。PHP 客户端自动处理这一点。如果您想改变这种行为,可以这样做:

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());

对于未来的请求,使用存储在 cookie 中的 client_id 创建 Session

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');

Session 构造函数的其他可能选项包括

  • baseUrl - Sixpack 服务器在网上的位置
  • cookiePrefix - 如果愿意,可以为 cookie 设置不同的前缀。默认是 sixpack

如果您想强制 Sixpack 服务器为开发或测试返回特定的替代方案,可以通过传递名为 sixpack-force 的查询参数到测试页面来实现。

http://example.com/?sixpack-force-<experiment name>=<alternative name>

贡献

  1. 分支它
  2. 创建您的功能分支 (git checkout -b my-new-feature)
  3. 提交您的更改 (git commit -am 'Added some feature')
  4. 将更改推送到分支 (git push origin my-new-feature)
  5. 创建新的 Pull Request

许可证

sixpack-php 在 BSD 2-Clause License 下发布。