Sobes.tech
Junior

Mis on noole- ja anonüümfunktsioonid PHP-s?

sobes.tech AI

Vastus AI-lt

Noolefunktsioonid on süntaksisuhkur anonüümsete funktsioonide jaoks, mis on esitatud PHP 7.4-s. Need pakuvad lühemat viisi lihtsate lambda-funktsioonide kirjutamiseks:

  • Anonüümsed funktsioonid (sulgud):

    • võivad sisaldada rohkem kui ühte koodirida ja sisaldada keerulist loogikat.
    • kasutavad sõna use, et importida muutujad vanemast vaateväljast.
    • on paindlikumad, sobivad keerukate ülesannete jaoks.
  • Noolefunktsioonid:

    • sisaldavad ainult ühte avaldist, mille tulemus tagastatakse kaudselt.
    • neil on automaatne juurdepääs vanemate vaatevälja muutujatele (ei vaja use).
    • mõeldud lihtsate, ühe realise operatsioonide jaoks.

Siin on näited:

<?php
// Anonüümne funktsioon
$greet = function ($name) {
    return "Tere, " . $name;
};
echo $greet('Maailm') . "\n";

// Anonüümne funktsioon `use`-ga
$message = 'Tere';
$greetWithMsg = function ($name) use ($message) {
    return $message . ", " . $name;
};
echo $greetWithMsg('Sõber') . "\n";
<?php
// Noolefunktsioon
$greetArrow = fn ($name) => "Tere, " . $name;
echo $greetArrow('Maailm') . "\n";

// Noolefunktsioon automaatse juurdepääsuga vanemate vaatevälja
$messageArrow = 'Tere';
$greetArrowWithMsg = fn ($name) => $messageArrow . ", " . $name;
echo $greetArrowWithMsg('Sõber') . "\n";

Piirangute erinevused:

Võimalus Anonüümne funktsioon Noolefunktsioon
Mitmerida kood Jah Ei
return sõna Jah (kohustuslik) Ei (kaudne)
use sõna Jah (importimiseks) Ei (automaatne)
Keeruline loogika Jah Ei

Valik sõltub ülesande keerukusest ja süntaksi eelistustest. Lihtsate toimingute jaoks on mugavam kasutada noolefunktsioone nende lühiduse tõttu.