https://github.com/burdiuz/php-callbacks
Wrapper classes for callbacks in PHP
https://github.com/burdiuz/php-callbacks
Last synced: 3 months ago
JSON representation
Wrapper classes for callbacks in PHP
- Host: GitHub
- URL: https://github.com/burdiuz/php-callbacks
- Owner: burdiuz
- License: mit
- Created: 2015-11-23T21:25:51.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-01-06T07:58:46.000Z (over 9 years ago)
- Last Synced: 2025-03-10T12:02:47.584Z (3 months ago)
- Language: PHP
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
##PHP-Callbacks
[](https://travis-ci.org/burdiuz/php-callbacks)
[](https://coveralls.io/github/burdiuz/php-callbacks?branch=master)
[](https://www.versioneye.com/user/projects/568ba879eb4f47003c001399)[](https://packagist.org/packages/actualwave/callbacks) [](https://packagist.org/packages/actualwave/callbacks) [](https://packagist.org/packages/actualwave/callbacks)
Family of Callback Wrappers allowing to store chains of delayed calls that can be started by event.
* FunctionCallback - calls global function or static method.
* MethodCallback - calls instance or static method.
* OutputCallback - outputs all arguments in JSON format.
* PropertyCallback - stores first argument as property value, works with static properties.
* VariableCallback - stores first argument as variable value, works with static properties.
* CallableQueue - calls stored callbacks passing previous result as argument, returns result of last callback.
* CallableSequence - calls stored callbacks with same arguments, returns result of last callback.
```php
$variable = 'value';
$callback = new \aw\callbacks\VariableCallback('variable');
$callback('new value');
echo $variable.PHP_EOL; // new valuefunction doEcho($param){
echo 'My name is: '.$param.PHP_EOL;
}$callback = new \aw\callbacks\FunctionCallback('doEcho');
$callback('####'); // My name is: ####
```### Installation
Via [composer](https://getcomposer.org/)
```
composer require actualwave/callbacks
```### Usage
All wrappers are callables, so can be used directly as closure.
CallableCollection accepts any callable including PHP closures.
```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
```