actualwave / callbacks
具有共享界面的回调包装器系列
0.0.4
2016-01-05 12:27 UTC
Requires
- php: >=7.0.0
- actualwave/object: 0.0.*
Requires (Dev)
- phpunit/phpunit: 5.1.*
This package is not auto-updated.
Last update: 2024-09-14 18:04:22 UTC
README
允许通过事件启动存储的延迟调用链的回调包装器系列
- FunctionCallback - 调用全局函数或静态方法。
- MethodCallback - 调用实例或静态方法。
- OutputCallback - 以JSON格式输出所有参数。
- PropertyCallback - 将第一个参数存储为属性值,与静态属性一起工作。
- VariableCallback - 将第一个参数存储为变量值,与静态属性一起工作。
- CallableQueue - 通过将前一个结果作为参数调用存储的回调,返回最后一个回调的结果。
- CallableSequence - 使用相同的参数调用存储的回调,返回最后一个回调的结果。
$variable = 'value'; $callback = new \aw\callbacks\VariableCallback('variable'); $callback('new value'); echo $variable.PHP_EOL; // new value function doEcho($param){ echo 'My name is: '.$param.PHP_EOL; } $callback = new \aw\callbacks\FunctionCallback('doEcho'); $callback('####'); // My name is: ####
安装
通过 composer
composer require actualwave/callbacks
用法
所有包装器都是可调用的,因此可以直接用作闭包。CallableCollection接受任何可调用函数,包括PHP闭包。
function multiply4($value){ return $value*4; } $collection = new \aw\CallableQueue(); $collection[] = function($value){ return $value*2; }; $collection[] = function($value){ return $value*3; }; $collection[] = new \aw\callbacks\FunctionCallback('multiply4'); echo 'Result: '.$collection(2).PHP_EOL; // Result: 48