- The library does not require any dependencies.
- Tested on PHP 5.4+, PHP 7, HHVM (on Linux), PHP 5.5 (on Windows).
- Install:
composer require axy/callbacks
. - License: MIT.
function sum($a, $b)
{
return $a + $b;
}
Standard callback:
$callback = new Callback('sum');
echo $callback(2, 2);
Binging arguments:
$callback = new Callback('sum', [3]);
echo $callback(4); // 3 + 4 = 7
Binging context:
class MyClass
{
public function getEventHandler()
{
return new Callback([$this, 'onEvent'], ['click'], true);
}
private function onEvent($event)
{
echo 'Event '.$event.'!';
}
}
$obj = new MyClass();
$handler = $obj->getEventHandler();
// click
$handler(); // "Event click!". Private method was called