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