Middle
Wat is een closure in PHP?
sobes.tech AI
Antwoord van AI
Object-functie met de mogelijkheid om variabelen uit de scope van de maker te vangen, zelfs nadat die scope is geëindigd.
<?php
// Closure die $factor vastlegt
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Uitvoer: 20
echo $triple(10); // Uitvoer: 30
Belangrijkste kenmerken:
- Ze zijn instanties van de klasse
Closure. - Ze kunnen variabelen erven uit de bovenliggende scope met behulp van het sleutelwoord
use. - Geërfde variabelen worden standaard by value geërfd, tenzij expliciet wordt aangegeven dat er by reference geërfd moet worden (
use (&$variable)). - Worden vaak gebruikt om anonieme functies te maken die "de context" waarin ze zijn gemaakt "herinneren".