terabytesoftw/events-user

事件用户核心

安装: 105

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:yii2-extension

dev-master / 1.0.x-dev 2019-07-24 23:02 UTC

This package is auto-updated.

Last update: 2024-09-25 10:23:58 UTC


README

事件用户核心

Unstable Version Build Status Build Status Build Status Code Quality Code Intelligence Status Maintainability


目录结构

config/             contains application configurations
src/                contains source files
tests/              contains tests codeception for the web application
vendor/             contains dependent 3rd-party packages

需求

  • 本项目模板对您的Web服务器支持的最小要求
    • PHP 7.2 或更高版本。

安装

如果您没有Composer,您可以通过getcomposer.org上的说明进行安装。

然后,您可以使用以下命令安装此扩展:composer

composer require terabytesoftw/events-user '^1.0@dev'

或添加composer.json

"terabytesoftw/events-user":"^1.0@dev"

用法

事件类:UserEvent.php

<?php

namespace terabytesoft\events\user;

use yii\base\Event;

/**
 * Class UserEvent
 *
 * User events applications
 **/
class UserEvent extends Event
{
    /**
     * event is triggered before blocking existing user
     * triggered with \terabytesoft\events\user\UserEvent
     **/
    const BEFORE_BLOCK = '\terabytesoft\events\user\UserEvent::BEFORE_BLOCK';

    /**
     * event is triggered after blocking existing user
     * triggered with \terabytesoft\events\user\UserEvent
     **/
    const AFTER_BLOCK = '\terabytesoft\events\user\UserEvent::AFTER_BLOCK';

    /**
     * @var object $form
     */
    private $form;

    /**
     * getForm
     */
    public function getForm(): object
    {
        return $this->form;
    }

    /**
     * setForm
     */
    public function setForm(object $form): void
    {
        $this->form = $form;
    }
}

控制器/模型:示例

<?php

Use yii\base\Event

Class MockControler extend controller
{
    /**
     * actionBlock
     */
    public function actionBlock(): void
    {
        $this->event = new UserEvent([
            'form' => $this->model,
        ]);

        $this->trigger(UserEvent::BEFORE_BLOCK, $this->event);
        $this->trigger(UserEvent::AFTER_BLOCK, $this->event);
    }
}

在config/events/MockEvents.php中定义事件操作Event::on

<?php

Use yii\base\Event

Event::on(MockController::class, UserEvent::BEFORE_BLOCK, function ($event) {
    // Actions here
    // $event->form Model pass
    // $event->name Event Name
});

Event::on(MockController::class, UserEvent::AFTER_BLOCK, function ($event) {
    // Actions here
    // $event->form Model pass
    // $event->name Event Name
});

配置事件:composer-plugin: composer.json

"extra": {
    "config-plugin": {
        "defines": [
            "config/events/MockEvents.php"
        ]
    }
},
$composer du

运行测试代码:CODECEPTION

// download all composer dependencies root project
$ composer update --prefer-dist -vvv

// run all tests with code coverage
$ vendor/bin/codecept run unit --coverage-xml

支持的Web服务器

  • Apache.
  • Nginx.
  • OpenLiteSpeed.

文档风格指南

风格CI文档PSR2。

许可

License YiiFramework Total Downloads StyleCI