Junior
Šta su anonimne funkcije?
sobes.tech АИ
Одговор од АИ
Anonimna funkcija (ili Closure) je funkcija bez imena. Može biti sačuvana u promenljivu i prosleđena kao argument drugim funkcijama.
Glavne osobine:
- Bez imena.
- Može biti dodeljena promenljivoj.
- Može biti prosleđena kao parametar drugoj funkciji (callback).
- Može koristiti promenljive iz roditeljskog opsega pomoću konstrukcije
use.
Primer upotrebe:
<?php
// Dodeljivanje anonimne funkcije promenljivoj
$greet = function($name)
{
printf("Zdravo, %s!\n", $name);
};
$greet('Svet'); // Poziv anonimne funkcije
// Korišćenje kao callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Korišćenje promenljivih iz roditeljskog opsega pomoću use
$message = 'Zdravo';
$example = function () use ($message) {
echo $message;
};
$example();
Prednosti anonimnih funkcija:
- Pogodne za kratke, jednokratne funkcije.
- Često se koriste sa funkcijama višeg reda (npr.
array_map,usort). - Omogućavaju kreiranje zatvaranja (closures).
Nedostaci:
- Mogu biti manje čitljive za složenije funkcije.
- Debugovanje može biti malo teže zbog nedostatka imena.