Junior
Mis on anonüümfunktsioonid?
sobes.tech AI
Vastus AI-lt
Anonüümne funktsioon (või Closure) on nimeta funktsioon. Seda saab salvestada muutujasse ja edasi anda argumentina teistele funktsioonidele.
Peamised omadused:
- Nimeta.
- Võib omistada muutujale.
- Võib edastada teise funktsiooni parameetrina (callback).
- Võib kasutada vanema piirkonna muutujaid
usekonstruktsiooni kaudu.
Näide kasutamisest:
<?php
// Anonüümse funktsiooni omistamine muutujale
$greet = function($name)
{
printf("Tere, %s!\n", $name);
};
$greet('Maailm'); // Anonüümse funktsiooni kutsumine
// Kasutamine callbackina
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Vanema piirkonna muutuja kasutamine `use` kaudu
$message = 'Tere';
$example = function () use ($message) {
echo $message;
};
$example();
Anonüümsete funktsioonide eelised:
- Kasulik lühikesteks, ühekordseteks funktsioonideks.
- Sageli kasutatakse kõrgema järgu funktsioonidega (nt
array_map,usort). - Annab võimaluse luua sulgusid (closures).
Miinused:
- Võib olla vähem loetav keerukamate funktsioonide puhul.
- Debugging võib olla veidi keerulisem nime puudumise tõttu.