Czym w PHP jest zamknięcie i dlaczego używa identyfikatora „use”?
Sprawdzam trochęPHP 5.3.0
funkcje i trafił na jakiś kod na stronie, który wygląda dość zabawnie:
public function getTotal($tax)
{
$total = 0.00;
$callback =
/* This line here: */
function ($quantity, $product) use ($tax, &$total)
{
$pricePerItem = constant(__CLASS__ . "::PRICE_" .
strtoupper($product));
$total += ($pricePerItem * $quantity) * ($tax + 1.0);
};
array_walk($this->products, $callback);
return round($total, 2);
}
jako jeden z przykładówfunkcje anonimowe.
Czy ktoś o tym wie? Jakaś dokumentacja? I wygląda źle, gdyby kiedykolwiek został użyty?