actualwave/callbacks

具有共享界面的回调包装器系列

0.0.4 2016-01-05 12:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:04:22 UTC


README

##PHP-Callbacks 构建状态 覆盖率状态 依赖状态

Latest Stable Version Total Downloads License

允许通过事件启动存储的延迟调用链的回调包装器系列

  • 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