728x90
반응형
질문 : PHP에서 클로저 란 무엇이며 왜 "사용"식별자를 사용합니까?
일부 PHP 5.3.0
기능을 확인하고 사이트에서 꽤 재미있게 보이는 일부 코드를 실행했습니다.
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);
}
익명 함수 에 대한 예제 중 하나로.
아무도 이것에 대해 알고 있습니까? 문서가 있습니까? 그리고 그것은 사악 해 보입니다.
답변
이것이 PHP가 클로저를 표현하는 방법입니다. 이것은 전혀 악하지 않으며 실제로 매우 강력하고 유용합니다.
기본적으로 이것이 의미하는 바는 익명 함수가 $tax
$total
대한 참조)를 "캡처"하고 값을 보존하도록 허용한다는 것입니다 (또는 $total
경우 참조). $total
자체에) 익명 함수 자체 내의 상태로.
출처 : https://stackoverflow.com/questions/1065188/in-php-what-is-a-closure-and-why-does-it-use-the-use-identifier
728x90
반응형
'프로그래밍 언어 > PHP' 카테고리의 다른 글
PHP의 T_PAAMAYIM_NEKUDOTAYIM (0) | 2021.06.15 |
---|---|
PHP의 NOW () 함수 (0) | 2021.06.15 |
PHP에서 선행 0으로 숫자 서식 지정 (0) | 2021.06.12 |
PHP를 사용하여 MySQL datetime에서 다른 형식으로 변환 (0) | 2021.06.11 |
PHP에서 파일 확장자를 얻는 방법 (0) | 2021.06.10 |