PHPackages                             arhone/commutation - 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. arhone/commutation

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

arhone/commutation
==================

Библиотека для запуска обработчиков событий (PHP 7)

1.0.1(8y ago)27MITPHPPHP ^7.0

Since Oct 22Pushed 7y ago2 watchersCompare

[ Source](https://github.com/arhone/commutation)[ Packagist](https://packagist.org/packages/arhone/commutation)[ Docs](https://github.com/arhone/trigger)[ RSS](/packages/arhone-commutation/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)DependenciesVersions (3)Used By (0)

Trigger
=======

[](#trigger)

Спусковой крючок (PHP 7)

Триггер позволяет создавать событийные приложения, запуская события на основе других событий.

Триггер в отличае от роутера создаёт связи не только один к одному, но и один ко многим.

Принцип работы триггера очень прост:

1. Вы добавляется обработчик какого то события
2. Запускаете это событие
3. Обработчики выполняются

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

Триггер может пригодиться в различных задачах, например:

1. Вывод разного содержимого сайта по разным адресам. В качестве события вы указываете URI страницы, обработчик конкретной страницы возвращает конкретный результат.
2. Обработка команд из консоли или крона или через API других приложений, например telegram. На сервер приходит команда, обработчики на неё реагируют.
3. Создание зацепок. Например можно запустить событие о том, что добавилась новая новость или на сервер загрузился новый файл. В будущем можно написать обработку этих событий, например при добавлении новости можно очистить кэш блока последних новостей, а при загрузки изображения наложить на него водяной знак.
4. Логгировать/регировать. Допустим вы делаете систему документооборота и вам нужно отправить оповещение, если пользователь прочитал документ.
5. Ограничивать доступ. Если пользователь не авторизирован, то показать ему форму авторизации.
6. И многое другое.

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

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

`composer require arhone/commutation`

```
