seatgeek / sixpack-php
Sixpack A/B 测试框架客户端
2.1
2016-07-20 15:49 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-23 12:06:46 UTC
README
Sixpack
SeatGeek 的 Sixpack A/B 测试框架的 PHP 客户端库。
安装
- 安装 Composer
- 在项目根目录下通过
composer require seatgeek/sixpack-php
安装 sixpack。 - 在您的 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>
贡献
- 分支它
- 创建您的功能分支 (
git checkout -b my-new-feature
) - 提交您的更改 (
git commit -am 'Added some feature'
) - 将更改推送到分支 (
git push origin my-new-feature
) - 创建新的 Pull Request
许可证
sixpack-php 在 BSD 2-Clause License 下发布。