communitales/status-bus

Communitales StatusBus 组件

2.2.0 2024-07-01 18:00 UTC

This package is auto-updated.

Last update: 2024-10-01 00:09:10 UTC


README

向中央状态总线发送状态消息。

状态内容可以在 UI 中显示或记录到文件中。因此,任何应用程序的服务类都可以向 UI 发送消息。

设置

composer require communitales/status-bus

services.yaml 中设置 Symfony

services:

    _defaults:
        bind:
            iterable $statusBusHandlers: !tagged_iterator communitales.status_handler

    _instanceof:
        Communitales\Component\StatusBus\StatusBusAwareInterface:
            calls:
                - [setStatusBus, ['@Communitales\Component\StatusBus\StatusBus']]

    Communitales\Component\StatusBus\Handler\SymfonySessionFlashBagHandler:
        tags: ['communitales.status_handler']

    Communitales\Component\StatusBus\StatusBus: ~

用法

你可以向 StatusBus 发送消息


use Communitales\Component\StatusBus\StatusBusAwareInterface;
use Communitales\Component\StatusBus\StatusBusAwareTrait;
use Symfony\Component\Translation\TranslatableMessage;

class MyClass implements StatusBusAwareInterface
{
    use StatusBusAwareTrait;

    public function doSomething() {

        // ...

        // You can use the status bus without i18n
        $this->statusBus->addSuccess(new TranslatableMessage('The item "example" has been successfully created.'));

        // And you can use the status bus with i18n
        $this->statusBus->addSuccess(new TranslatableMessage('action_item.success', ['item_name' => 'example']));
    }
}