montefuscolo / php-mediator
A class to provide hooks as actions and filters
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/montefuscolo/php-mediator
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2021-12-22 17:46:29 UTC
README
It is just another Hook system. It is useful to integrate very distinct components of software without making them too coupled to each other.
Installing
composer require montefuscolo/php-mediator
Using it
Actions
<?php use montefuscolo/BaseMediator; $mediator = new BaseMediator(); // Add callbacks to be called later $mediator->add_action('my-channel', function() { echo 'Hello World' . PHP_EOL; }); $mediator->add_action('my-channel', function() { echo 'Foo Bar' . PHP_EOL; }); // .... $mediator->run_actions('my-channel');
Filters
<?php use montefuscolo/BaseMediator; $mediator = new BaseMediator(); // Add callbacks to be called later $mediator->add_filter('my-channel', function($n) { return $n * 2; }); $mediator->add_filter('my-channel', function($n) { return $n * 3; }); $mediator->add_filter('my-channel', function($n) { return $n - 6; }); // .... echo $mediator->run_filters('my-channel', 1); // >>> 0