Junior
PHP-ում սլաքների և անանուն ֆունկցիաների ինչն է?
sobes.tech AI
Պատասխան AI-ից
Ցույցային ֆունկցիաները՝ դա PHP 7.4-ում ներկայացված անանուն ֆունկցիաների սինտաքսիկ շաքարն են: Դրանք առաջարկում են ավելի կարճ ձև՝ պարզ լամբդա-ֆունկցիաներ գրելու համար:
-
Անանուն ֆունկցիաներ (կապեր):
- կարող են պարունակել մի քանի տող կոդ և ունենալ բարդ տրամաբանություն:
- օգտագործում են
useբանալի բառը՝ փոփոխականները ներմուծելու համար ծնողական տեսադաշտից: - ավելի ճկուն են, հարմար են բարդ խնդիրների համար:
-
Ցույցային ֆունկցիաներ:
- պարունակում են միայն մեկ արտահայտություն, որի արդյունքը անուղղակիորեն վերադառնում է:
- ավտոմատ հասանելիություն ունեն ծնողական տեսադաշտի փոփոխականներին (չի պահանջվում
use): - նախատեսված են պարզ, մեկ տողանոց գործողությունների համար:
Նմուշներ՝
<?php
// Անանուն ֆունկցիա
$greet = function ($name) {
return "Բարև, " . $name;
};
echo $greet('Աշխարհ') . "\n";
// Անանուն ֆունկցիա `use`-ով
$message = 'Բարև';
$greetWithMsg = function ($name) use ($message) {
return $message . ", " . $name;
};
echo $greetWithMsg('Ընկեր') . "\n";
<?php
// Ցույցային ֆունկցիա
$greetArrow = fn ($name) => "Բարև, " . $name;
echo $greetArrow('Աշխարհ') . "\n";
// Ցույցային ֆունկցիա ավտոմատ հասանելիությամբ
$messageArrow = 'Բարև';
$greetArrowWithMsg = fn ($name) => $messageArrow . ", " . $name;
echo $greetArrowWithMsg('Ընկեր') . "\n";
Ավելի սահմանափակումների տարբերություններ՝
| Հնարավորություն | Անանուն ֆունկցիա | Ցույցային ֆունկցիա |
|---|---|---|
| Մեծ տողային կոդը | Այո | Ոչ |
return բանալի բառը |
Այո (պարտադիր) | Ոչ (անուղղակի) |
use բանալի բառը |
Այո (համար ներմուծման) | Ոչ (ավտոմատ) |
| Բարդ տրամաբանություն | Այո | Ոչ |
Ընտրությունը կախված է խնդիրների բարդությունից և սինտաքսիսի նախընտրություններից: Պարզ գործողությունների համար ավելի հարմար է օգտագործել ցուցային ֆունկցիաներ՝ դրանց կարճության պատճառով։