Sobes.tech
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.