uecode / segment-io-php
一个用于向Segment.io API报告事件的PHP库
1.2.0
2017-05-02 19:37 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: 5.3.1
- guzzlehttp/guzzle-services: ~0.6
- monolog/monolog: ~1.7
- symfony/console: ~2.5
- symfony/filesystem: ~2.5
Requires (Dev)
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ~4.0
- raulfraile/ladybug: ~1.0.13
This package is not auto-updated.
Last update: 2024-09-12 15:25:52 UTC
README
此库提供了一个使用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_size
和batch_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许可证发布。有关详细信息,请参阅许可证文件。