terabytesoftw / events-user
事件用户核心
dev-master / 1.0.x-dev
2019-07-24 23:02 UTC
Requires
- php: ^7.2.0
- oomphinc/composer-installers-extender: ^1.1
- yiisoft/yii2: ^2.0.20
Requires (Dev)
- codeception/c3: 2.*
- codeception/codeception: ^3.0
- dms/phpunit-arraysubset-asserts: ^0.1.0
- hiqdev/composer-config-plugin: ^1.0@dev
- monolog/monolog: *
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is auto-updated.
Last update: 2024-09-25 10:23:58 UTC
README
事件用户核心
目录结构
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.