哺乳动物/生命周期事件

♻️ 哺乳动物PHP应用程序的生命周期事件

资助包维护!
WyriHaximus

安装数: 20,877

依赖项: 4

建议者: 0

安全: 0

星标: 0

观察者: 2

分支: 1

开放性问题: 2

语言:Makefile

2.0.0 2024-03-22 20:11 UTC

This package is auto-updated.

Last update: 2024-09-10 22:28:09 UTC


README

Continuous Integration Latest Stable Version Total Downloads Code Coverage Type Coverage License

安装

要通过 Composer 安装,请使用以下命令,它将自动检测最新版本并将其与 ^ 绑定。

composer require mammatus/life-cycle-events

事件

初始化

初始化阶段,在事件循环开始之前的任何阻塞操作。

启动

事件循环刚刚开始运行,应用程序现在正在运行。

关闭

当发生致命错误或捕获到OS信号且应用程序正在关闭时,会发出关闭事件。

监听器

以下监听器来自我的一个应用程序,并监听初始化和关闭事件。逻辑已被移除,但保留了日志以演示简单的监听器示例。

<?php

declare(strict_types=1);

namespace WyriHaximus\Apps\WyriHaximusNet\GitHub\Ingest;

use Mammatus\LifeCycleEvents\Initialize;
use Mammatus\LifeCycleEvents\Shutdown;
use Psr\Log\LoggerInterface;
use WyriHaximus\Broadcast\Contracts\Listener;

final class Consumer implements Listener
{
    private LoggerInterface $logger;

    public function __construct(ConsumerContract $consumer, Producer $producer, LoggerInterface $logger)
    {
        $this->logger   = $logger;
    }

    public function start(Initialize $event): void
    {
        $this->logger->debug('Starting to consume ingested GitHub WebHook events');
    }

    public function stop(Shutdown $event): void
    {
        $this->logger->debug('Stopping to consume ingested GitHub WebHook events');
    }
}

许可协议

MIT许可(MIT)

版权所有 (c) 2020 Cees-Jan Kiewiet

在此特此授予任何获得本软件及其相关文档文件(“软件”)副本的任何人,免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向提供软件的个人提供这样做,但受以下条件约束

上述版权声明和本许可声明应包含在软件的任何副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,源自、因之或与此软件或软件的使用或其他交易有关。