npo/message-resource-bundle

Symfony 扩展用于 npo/message-resource

11 2024-09-04 07:22 UTC

This package is not auto-updated.

Last update: 2024-09-18 07:48:23 UTC


README

composer require npo/message-resource-bundle

此包为 message-resource 消息提供配置的工厂,别名为 @npo_message_resource.message_factory

用法

添加到 config/bundles.php

NpoMessage\ResourceBundle\MessageResourceBundle::class => ['all' => true],

services.yaml 中的示例

App\MyMessageHandler:
  arguments: 
    $messageFactory: '@npo_message_resource.message_factory'

App\MyMessageHandler 中的示例

<php

namespace App;

use NpoMessage\Resource\Domain\Factory\IChainMessageFactory;

class MyMessageHandler
{
    public function __construct(
        private IChainMessageFactory $factory
    ){}
    
    public function handleMessage(string $message): void
    {
        if(!$this->factory->supports($message)) {
            return;
        }
        
        try {
            $messageAbstract = $this->factory->create($message);
        } catch (UnsupportedMessageException $exception) {
            // handle unsupported message
        }
    }
}