hcrgm/coding-webhook

Handle Coding webhook requests easily


Keywords
webhook, coding
License
MIT

Documentation

coding-webhook-php

一个简单的 Coding Webhook 处理工具,使用PHP + Composer。 Coding | GitHub

添加依赖

在项目里的composer.json里的"require"项里添加"hcrgm/coding-webhook": "1.0.*"即可。

使用

Handler 类

Handler类用于处理webhook请求 方法:

  • __construct($token = '', $autoValidate = true) ———— 构造方法。如果$token不指定或为空,无论webhook请求里是否带有token,都不会验证。$autoValidate表示是否自动验证webhook请求的合法性。如果你不需要自动验证或不需要验证请求,使用false
  • validateRequest() ———— 验证webhook请求(请求本身是否合法、token是否合法等等)。如果验证不通过本方法将会抛出异常。
  • getEvent() ———— 获取此请求的事件名。
  • getData() ———— 获取此请求传递的数据。已经被json_decode处理,返回数组。
  • on($event, $callable) ———— 绑定一个事件,当本次请求的event和这里的event匹配将执行$callable指定的函数。
  • run() ———— 开始处理所有绑定的事件。此方法必须被执行否则绑定的事件不会被执行。

ParseException 异常

当解析出现问题时将抛出此异常(比如接收到的json数据不能被解析、成分缺失等)。

InvalidTokenException 异常

请求传递的token与您的设置不符时将抛出此异常。

示例

<?php
require '/vendor/autoload.php';

use CodingWebhook\Handler;

try {
    $handler = new Handler("token");
    $handler->on('push', function($data) {
        echo "success";
    });
    $handler->run();
} catch(Exception $e) {
    echo $e->getMessage();
}

计划

1.反序列化一些webhook数据