quasiris/quasiris-catching-category-events

dev-master 2020-07-03 19:07 UTC

This package is not auto-updated.

Last update: 2024-09-21 15:48:52 UTC


README

此库用于从分类(抽象、具体、分类)捕捉关于产品的事件,例如

  • 分配,
  • 取消分配

并发送到自定义API URL(POST方法)。

数据到达API

API_URL_MAIN:
{
    "abstract": {}, 
    "concrete": {}, 
    "categories": {
        "categories": [] 
    }
}
API_URL_TESTING:
{
    "status": "SUCCESS",
    "params": {
        "date": "23.06.20 10:26:06",
        "listenerName": "QuasirisCatchingCategoryEventsListener",
        "eventName": "Product.product_abstract.after.update",
        "abstract": {
            
        },
        "concrete": [],
        "categories": {
            "categories": []
        },
        "productId": "//id of product",
        "type": "products"
    },
    "eventName": "Product.product_abstract.after.update",
    "request_form_params_main_api": "params with goes to api",
    "response_from_main_api": {},
    "url_main_api": "API_URL_MAIN",
    "url_testing_api": "API_URL_TESTING",
    "product_id": "//id of product"
}

安装

如果您没有安装Composer,请访问Composer网站并安装它。

在您的项目终端中输入

composer require quasiris/quasiris-catching-category-events

用法

安装后,转到 Pyz\Zed\Event\EventDependencyProvider.php;

导入订阅者

use Quasiris\Zed\QuasirisCatchingCategoryEvents\Communication\Plugins\Event\Subscriber\QuasirisCatchingCategoryEventsSubscriber;

在 getEventSubscriberCollection() 方法中,在 return $eventSubscriberCollection; 之上,注册要监视的事件

$eventSubscriberCollection->add(new QuasirisCatchingCategoryEventsSubscriber());

所有实现都在 Pyz\Zed\Event\EventDependencyProvider.php

<?php
// Pyz\Zed\Event\EventDependencyProvider.php
namespace Pyz\Zed\Event;

use ...;
.
.
.
use Quasiris\Zed\QuasirisCatchingCategoryEvents\Communication\Plugins\Event\Subscriber\QuasirisCatchingCategoryEventsSubscriber;

class EventDependencyProvider extends SprykerEventDependencyProvider
{
    /**
     * @return \Spryker\Zed\Event\Dependency\EventCollectionInterface
     */
    public function getEventListenerCollection()
    {
        return parent::getEventListenerCollection();
    }

    /**
     * @return \Spryker\Zed\Event\Dependency\EventSubscriberCollectionInterface
     */
    public function getEventSubscriberCollection()
    {
        .
        .
        .
        .
        .
        $eventSubscriberCollection->add(new QuasirisCatchingCategoryEventsSubscriber());

        return $eventSubscriberCollection;
    }
}

接下来,转到 config/Shared/config_default.php

从插件导入常量并添加常量

// config/Shared/config_default.php
use Quasiris\Zed\QuasirisCatchingCategoryEvents\Shared\QuasirisCatchingCategoryEventsConstants;

//create this
$config[QuasirisCatchingCategoryEventsConstants::MY_SETTING] = [
    'API_URL_MAIN' => 'main url where data goes',
    'API_URL_TESTING' => 'testing url where data goes with additional informations'
];


$config[KernelConstants::PROJECT_NAMESPACES] = [
    'Pyz',
    'Quasiris', //add this in KernelConstants::PROJECT_NAMESPACES
];

信息:API_URL_MAIN 和 API_URL_TESTING 独立工作,您只需添加其中一个,例如。

// config/Shared/config_default.php
use Quasiris\Zed\QuasirisCatchingCategoryEvents\Shared\QuasirisCatchingCategoryEventsConstants;

$config[QuasirisCatchingCategoryEventsConstants::MY_SETTING] = [
    'API_URL_MAIN' => 'main url where data goes'
];
------------------------ Different example ------------------------------
// config/Shared/config_default.php
use Quasiris\Zed\QuasirisCatchingCategoryEvents\Shared\QuasirisCatchingCategoryEventsConstants;

$config[QuasirisCatchingCategoryEventsConstants::MY_SETTING] = [
    'API_URL_TESTING' => 'testing url where data goes with additional informations'
];

许可证

MIT