Sobes.tech
Junior

Kas ir anonīmās funkcijas?

sobes.tech AI

Atbilde no AI

Anonīma funkcija (vai Closure) ir funkcija bez nosaukuma. Tā var tikt saglabāta mainīgajā un nodota kā arguments citām funkcijām.

Galvenās īpašības:

  • Bez nosaukuma.
  • Var tikt piešķirta mainīgajam.
  • Var tikt nodota kā parametrs citai funkcijai (callback).
  • Var izmantot vecāku apgabala mainīgos, izmantojot use konstrukciju.

Piemērs:

<?php
// Anonīmas funkcijas piešķiršana mainīgajam
$greet = function($name)
{
    printf("Sveiki, %s!\n", $name);
};

$greet('Pasaule'); // Anonīmas funkcijas izsaukšana

// Izmantošana kā callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
    return $n * 2;
}, $numbers);

print_r($doubled);

// Vecāku apgabala mainīgo izmantošana ar `use`
$message = 'Sveiki';
$example = function () use ($message) {
    echo $message;
};
$example();

Anonīmu funkciju priekšrocības:

  • Noderīgas īsām, vienreizējām funkcijām.
  • Bieži tiek izmantotas ar augstākā līmeņa funkcijām (piem., array_map, usort).
  • Atļauj izveidot slēdzenes (closures).

Trūkumi:

  • Var būt mazāk lasāmas sarežģītām funkcijām.
  • Debugging var būt nedaudz grūtāks, jo nav nosaukuma.