xlabs/natsbundle

NATS 封装包

安装: 522

依赖者: 1

建议者: 0

安全性: 0

类型:symfony-bundle

2.0.4 2020-12-07 21:11 UTC

This package is auto-updated.

Last update: 2024-09-08 05:08:47 UTC


README

NATS 后端包装器。

安装

通过 Composer 安装

php -d memory_limit=-1 composer.phar require xlabs/natsbundle

在你的 AppKernel 中

public function registerbundles()
{
    return [
    	...
    	...
    	new XLabs\NatsBundle\XLabsNatsBundle(),
    ];
}

路由

追加到主路由文件

# app/config/routing.yml
  
x_labs_nats:
    resource: .
    type: xlabs_nats_routing

配置示例

以下显示默认值

# app/config/config.yml
  
x_labs_nats:
    postback_url: /your/nats/postback/url
    allowed_ips: ['127.0.0.1', '192.168.1.10', '60.58.43.125', ...]
    api:
        url: https://<nats_domain>/api
        username: USERNAME
        key: APIKEY

注意:默认允许 $_SERVER['SERVER_ADDR'] 的值,因此无需将其包含在 'allowed_ips' 数组中。

事件监听器

当达到 NATS 后端时,发生以下事件

  • nats_postback.OnAdd.event (ADD)
  • nats_postback.OnManualAdd.event (MANUALADD)
  • nats_postback.OnActivate.event (ACTIVATE)
  • nats_postback.OnChange.event (CHANGE)
  • nats_postback.OnCheck.event (CHECK)
  • nats_postback.OnDelete.event (DELETE)
  • nats_postback.OnExpire.event (EXPIRE)
  • nats_postback.OnTrialToFull.event (TRIALTOFULL)
  • nats_postback.OnRebill.event (REBILL POST)

如果您想为其中任何一个注册事件监听器

# YourBundle/Resources/config/services.yml
    ...
    custom_listener_for_nats_onAdd.event_listener:
        class:  YourBundle\EventListener\MyListener
        tags:
            - { name: kernel.event_listener, event: nats_postback.OnAdd.event, method: onAdd }
namespace YourBundle\EventListener;

use Symfony\Component\EventDispatcher\Event;

class MyListener extends Event
{
    public function onAdd(Event $event)
    {
        $params = $event->getParams(); // all params sent by nats
        
        ...

        /* Dont forget to set the response, based on Nats documentation:
            http://tmmwiki.com/index.php/NATS4_Site_User_Management
            OK|message
            NOTOK|message
            ERROR|message
        */
        $event->setResponse('OK');
    }
}

如果监听器中没有设置响应,则默认输出为 'OK'。