PHPackages                             luckcodes/yii2-events-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. luckcodes/yii2-events-manager

ActiveYii2-extension[Utility &amp; Helpers](/categories/utility)

luckcodes/yii2-events-manager
=============================

Organization of connection of events through the component: Event manager.

3.0(3y ago)00MITPHP

Since Nov 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/luck-codes/yii2-events-manager)[ Packagist](https://packagist.org/packages/luckcodes/yii2-events-manager)[ RSS](/packages/luckcodes-yii2-events-manager/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (2)Used By (0)

Yii 2 Events Manager
====================

[](#yii-2-events-manager)

Компонент для [Yii 2](http://www.yiiframework.com/) приложения

Организация подключения событий через компонент: Менеджер событий.

Обработчики событий подключаются только в момент вызова первого события и не нагружают систему.

Установка
---------

[](#установка)

Предпочтительный способ установки этого расширения через [composer](http://getcomposer.org/download/).

Либо запустить

```
php composer.phar require --prefer-dist luckcodes/yii2-events-manager "~3.0"

```

или добавить

```
"luckcodes/yii2-events-manager": "~3.0"

```

в требуемый раздел вашего `composer.json` файл.

Подкючение в config файлах
--------------------------

[](#подкючение-в-config-файлах)

```
'components' => [
    'eventsManager' => [
        'class'=>'luckcodes\eventsmanager\components\EventsManager',
    ]
]

```

Подключение события вручную
---------------------------

[](#подключение-события-вручную)

```
'components' => [
    'eventsManager' => [
        'class'=>'luckcodes\eventsmanager\components\EventsManager',
        'events'=>[
           'common\test\BlockTpl' =>[
              'init_shortcode' =>[
                   ['common\eventhandler\MainBlocksHandler', 'shortcode']
              ]
           ]
        ],
    ]
]

```

В примере мы подключили для события `init_shortcode` класса `common\test\BlockTpl`обработчик события `['common\eventhandler\MainBlocksHandler', 'shortcode']`.

Где `common\eventhandler\MainBlocksHandler` - это путь к классу обработчика, а `shortcode` - метод, который будет вызван при наступлении события `init_shortcode`.

Подключение через дополнительный обработчик
-------------------------------------------

[](#подключение-через-дополнительный-обработчик)

Чтобы не загромождать конфиг файлы большим количеством подключений событий, в менеджере имеется возможность подключения дополнительных обработчиков, которые внутри себя (используя необходимую логику) могут подключать только необходимые события.

### Метод подключения собственных обработчиков подключения событий

[](#метод-подключения-собственных-обработчиков-подключения-событий)

```
'components' => [
    'eventsManager' => [
        'class'=>'luckcodes\eventsmanager\components\EventsManager',
        'eventsConnectors'=>[
           'luckcodes\items\handlers\events\ConnectEventsFrontend'
        ],
    ]
]

```

Класс `luckcodes\items\handlers\events\ConnectEventsFrontend` должен быть дочерним класом `luckcodes\eventsmanager\classes\AddHandlers`

### Пример дополнительного обработчика подключения событий

[](#пример-дополнительного-обработчика-подключения-событий)

файл: `luckcodes\items\handlers\events\ConnectEventsFrontend`

```
