serato/app-events

该软件包最新版本(v1.0.0)没有提供许可证信息。

一个用于向外部消费者传递应用程序事件数据的PHP库。

v1.0.0 2020-04-09 03:26 UTC

This package is auto-updated.

Last update: 2024-09-29 05:55:32 UTC


README

一个用于向外部消费者传递应用程序事件数据的PHP库。

安装

要将此库包含到PHP项目中,请将以下行添加到项目的composer.json文件中的require部分

{
  "require": {
    "serato/app-events": "^1.0.0"
  }
}

有关所有可用版本的列表,请参阅Packagist

事件

每个被监测的事件都被封装在一个包含填充事件数据的set方法的模型中。目前实现的的事件有

基本用法

只需创建一个事件模型实例并填充它

use Serato\AppEvents\Event\SeraTo\Redirect;

$event = new Redirect;
$event
    ->setHttpReferrer('http://serato.com/dj')
    ->setClientIp('24.30.52.126')
    ->setUserAgent(
        'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' .
        '(KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
    )
    ->setRedirectId('id-123')
    ->setRedirectName('Manage Subscription')
    ->setRedirectGroup('Serato DJ (app)')
    ->setRedirectShortUrl('sera.to/-b6ap')
    ->setRedirectDestinationUrl('https://account.serato.com/#/subscriptions');

事件目标

事件目标是事件数据的目的地。目前仅支持Elasticsearch(通过Filebeat)。

基本用法

创建事件目标实例,并通过sendEvent方法传递事件实例。

use Serato\AppEvents\EventTarget\Filebeat;
use Serato\AppEvents\Event\SeraTo\Redirect;

$event = new Redirect;
# Populate $event...

# Create the event target instance.
# Application name is important. ALL events will be tagged with the application name.
$eventTarget = new Filebeat('My App Name', '/path/to/log/file.log');
# Send the event to the target
$eventTarget->sendEvent($event);