Реализация \Closure(Анонимная функция)

Я тут хочу попробовать реализовать Closure но что-то не очень понимаю как это сделать смотрел примеры ClosureTask, BedrockEconomy, читал Вики, но не очень понял. Если я так реализую будет работать?(протестить пока не могу, надо дописать)

public function getData(\Closure $closure = null) {
  var_dump($closure);
}

Хочу его в свою экономику пихнуть просто.

2 лайка
<?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 то?

1 лайк

потому что 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
)

Эта тема была автоматически закрыта через 12 часов после последнего ответа. В ней больше нельзя отвечать.