itk-dev/beskedfordeler-symfony

Symfony 的消息优势

安装次数: 1,431

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.1 2023-03-23 08:49 UTC

This package is auto-updated.

Last update: 2024-09-23 11:53:08 UTC


README

有关消息优势的详细信息,请参阅 https://digitaliseringskataloget.dk/integration/sf1461

安装

需要此包

composer require itk-dev/beskedfordeler-symfony

启用此包

// config/bundles.php
return [
    // …
    Itkdev\BeskedfordelerBundle\ItkdevBeskedfordelerBundle::class => ['all' => true],
];

导入路由

# config/routes/itkdev_beskedfordeler.yaml
itkdev_beskedfordeler:
  resource: '@BeskedfordelerBundle/Resources/config/routes.php'

使 /beskedfordeler 路由公开可访问

# config/packages/security.yaml
security:
    #
    access_control:
        #
        - { path: ^/beskedfordeler, role: PUBLIC_ACCESS }
        #

路由

  • /beskedfordeler/PostStatusBeskedModtag

事件订阅者

必须创建一个事件订阅者,以便在从 Beskedfordeler 收到消息时执行某些有用操作

<?php
// src/EventSubscriber/BeskedfordelerEventSubscriber.php
namespace App\EventSubscriber;

use Itkdev\BeskedfordelerBundle\Event\PostStatusBeskedModtagEvent;
use Itkdev\BeskedfordelerBundle\Helper\MessageHelper;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class BeskedfordelerEventSubscriber implements EventSubscriberInterface
{
    private MessageHelper $messageHelper;

    public function __construct(private MessageHelper $messageHelper)
    {
    }

    public static function getSubscribedEvents() {
        return [
            PostStatusBeskedModtagEvent::class => 'postStatusBeskedModtag',
        ];
    }

    public function postStatusBeskedModtag(PostStatusBeskedModtagEvent $event): void {
        // Do something with the event.
        try {
            $data = $this->messageHelper->getBeskeddata($event->getDocument()->saveXML());
            // …
        } catch (\Throwable $exception) {
            // Log the exception.
        }
    }
}

开发

有关开发信息,请参阅 docs/DEVELOPMENT.md