terabytesoftw / events-user
Events User Core
Installs: 105
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:yii2-extension
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-11-25 10:35:30 UTC
README
Events User Core
DIRECTORY STRUCTURE:
config/ contains application configurations
src/ contains source files
tests/ contains tests codeception for the web application
vendor/ contains dependent 3rd-party packages
REQUIREMENTS:
- The minimum requirement by this project template that your Web server supports:
- PHP 7.2 or higher.
INSTALLATION:
If you do not have Composer, you may install it by following the instructions at getcomposer.org.
You can then install this extension using the following command composer:
composer require terabytesoftw/events-user '^1.0@dev'
or add composer.json:
"terabytesoftw/events-user":"^1.0@dev"
USAGE:
Event Class: 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;
}
}
Controller/Model: Example
<?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);
}
}
Define actions Event::on in config/events/MockEvents.php
<?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
});
Config events composer-plugin: composer.json
"extra": {
"config-plugin": {
"defines": [
"config/events/MockEvents.php"
]
}
},
$composer du
RUN TESTS 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 SERVER SUPPORT:
- Apache.
- Nginx.
- OpenLiteSpeed.