Junior
Wat zijn anonieme functies?
sobes.tech AI
Antwoord van AI
Een anonieme functie (of Closure) is een functie zonder naam. Ze kan worden opgeslagen in een variabele en worden doorgegeven als argument aan andere functies.
Belangrijkste kenmerken:
- Geen naam.
- Kan worden toegewezen aan een variabele.
- Kan worden doorgegeven als parameter aan een andere functie (callback).
- Kan variabelen uit de bovenliggende scope gebruiken via de
use-constructie.
Voorbeeld van gebruik:
<?php
// Toewijzing van een anonieme functie aan een variabele
$greet = function($name)
{
printf("Hallo, %s!\n", $name);
};
$greet('Wereld'); // Aanroep van de anonieme functie
// Gebruik als callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Gebruik van variabelen uit de bovenliggende scope via use
$message = 'Hallo';
$example = function () use ($message) {
echo $message;
};
$example();
Voordelen van anonieme functies:
- Handig voor korte, eenmalige functies.
- Worden vaak gebruikt met hogere-orde functies (bijvoorbeeld
array_map,usort). - Maken het mogelijk om closures te creëren.
Nadelen:
- Kan minder leesbaar zijn voor complexe functies.
- Debuggen kan iets moeilijker zijn vanwege het ontbreken van een naam.