Код: Выделить всё
$this->EventBus->subscribe('FilterTestEvent', function(){/*Do Something*/});
< /code>
Это называется таким: < /p>
$filteredValue = $this->EventBus->filter('FilterTestEvent', $anyValue);
< /code>
Что я хочу сейчас, так это передавать массив в качестве ссылки на закрытие, которое затем изменяется каким -либо образом (здесь: добавление элементов), а затем вернуть что -то как фильтрованное значение: < /p>
$item_to_change = array('e1' => 'v1', 'e2' => 'v2');
$this->EventBus->subscribe('FilterTestEvent', function(&$item){
$item['new'] = 'LoremIpsum';
return true;
});
$filtered = $this->EventBus->filter('FilterTestEvent', $item_to_change);
Код: Выделить всё
Array
(
[e1] => v1
[e2] => v2
[new] => LoremIpsum
)
< /code>
, но вместо этого он выглядит как исходный массив: < /p>
Array
(
[e1] => v1
[e2] => v2
)
Подробнее здесь: https://stackoverflow.com/questions/207 ... in-closure
Мобильная версия