guanguans/yii-event

在 Yii 中优雅使用事件。 - 优雅使用 Yii 事件。

资助包维护!
微信

v1.0.6 2022-05-25 07:42 UTC

This package is auto-updated.

Last update: 2024-08-25 12:17:21 UTC


README

在 Yii 中优雅使用事件。 - 优雅使用 Yii 事件。

Tests Check & fix styling codecov Latest Stable Version Total Downloads License

需求

  • Yii > 2.0

安装

$ composer require guanguans/yii-event --prefer-dist -vvv

配置

...
'components' => [
    ...
    'event' => [
        'class' => \Guanguans\YiiEvent\Event::class,
        'listen' => [
            \app\events\ExampleEvent::class => [
                \app\listeners\ExampleListener::class,
            ],
        ],
    ],
    ...
],
...

使用

创建 app\events\ExampleEvent.php

namespace app\events;

use yii\base\Event;

class ExampleEvent extends Event
{
    public $name = 'example';
}

创建 app\listeners\ExampleListener.php

namespace app\listeners;

use Guanguans\YiiEvent\ListenerInterface;
use yii\base\Event;

class ExampleListener implements ListenerInterface
{
    public function handle(Event $event)
    {
        // to do something.
        var_export($event->name);
        // var_export($event->data);
    }
}

派发事件

Yii::$app->event->dispatch(new ExampleEvent());
// Yii::$app->event->dispatch(new ExampleEvent(), $data);
// or
event(new ExampleEvent());
// event(new ExampleEvent(), $data);

输出结果

'example'

测试

$ composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详情。

安全漏洞

请审查 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。