uecode/segment-io-php

一个用于向Segment.io API报告事件的PHP库

1.2.0 2017-05-02 19:37 UTC

This package is not auto-updated.

Last update: 2024-09-12 15:25:52 UTC


README

Build Status Quality Score Code Coverage Total Downloads

此库提供了一个使用Guzzle v5的Web服务客户端,用于访问Segment.io HTTP API。

安装

安装

使用以下命令安装最新版本

$ composer require uecode/segment-io-php ~1.1

基本用法

use SegmentIO\Client;

$client = new Client(['write_key' => $writeKey]);

// Identify the user - assuming, below, that you
// have a $user object from your database
$client->identify([
    'userId' => $user->getId(),
    'traits' => [
        'name' => $user->getName(),
        'email' => $user->getEmail()
    ]
]);

// Track an event (userId or anonymousId is required for all events!)
$client->track([
    'userId' => $user->getId(),
    'event'  => 'Some Event Happened',
    'properties' => [
        'foo' => 'bar'
    ]
]);

配置选项

客户端接受一组配置选项

使用批处理

默认情况下,此客户端将尝试将所有API调用排队,并通过单个批处理请求发送它们。由于PHP的阻塞性质,此方法减少了客户端等待API请求的时间。

批处理不适用于客户端上的import()方法。

有两种批处理方法可供选择

请求批处理

注意:默认启用。

在调用API时,事件将被放入队列中,并在以下两种情况下刷新:当max_queue_size达到时,或者在PHP请求结束时。

更改客户端的max_queue_sizebatch_size选项将影响客户端尝试刷新事件的频率。

文件批处理

文件批处理是向Segment.io发送请求的一种更高效的方法。

每次进行track或identify调用时,都会将该调用记录到日志文件中。然后,通过运行包含的parse命令“离线”上传日志文件。

您可以使用log_file客户端配置选项更改日志文件的位置。如果没有指定日志文件,它将默认为:/tmp/segment-io.log

要上传日志文件中的事件到Segment.io,请运行包含的parse命令

./parse YOUR_WRITE_KEY --file /tmp/segment-io.log

跟踪HTTP API文档

跟踪HTTP API的文档可在segment.io/docs/tracking-api/找到。

许可证

本软件根据MIT许可证发布。有关详细信息,请参阅许可证文件