Я тут хочу попробовать реализовать Closure но что-то не очень понимаю как это сделать смотрел примеры ClosureTask, BedrockEconomy, читал Вики, но не очень понял. Если я так реализую будет работать?(протестить пока не могу, надо дописать)
public function getData(\Closure $closure = null) {
var_dump($closure);
}
Хочу его в свою экономику пихнуть просто.
<?php
$a = 10;
$b = 20;
function getData(Closure $closure = null){
var_dump($closure);
}
$result = getData(function() use ($a, $b){
return $a + $b;
});
var_dump($result);
object(Closure)#1 (1) {
["static"]=>
array(2) {
["a"]=>
int(10)
["b"]=>
int(20)
}
}
NULL
А почему NULL то?
потому что getData ничего не вернул
Ладно есть над чем потрудиться
Разобрался
<?php
function getData($data){
print_r($data);
}
$f = function(){
$data = [
0 => 1,
1 => 2,
2 => 3
];
return $data;
};
getData($f());
Array
(
[0] => 1
[1] => 2
[2] => 3
)