montefuscolo / php-mediator
此包已废弃且不再维护。未建议替代包。
一个提供钩子作为动作和过滤器的类
1.0
2018-05-15 20:41 UTC
Requires (Dev)
- phpunit/phpunit: ^6
This package is auto-updated.
Last update: 2021-12-22 17:46:29 UTC
README
这只是另一个钩子系统。它非常有用,可以在不使组件过于耦合的情况下集成软件的不同组件。
安装
composer require montefuscolo/php-mediator
使用
动作
<?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');
过滤器
<?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