Middle
რა არის დახურვა PHP-ში?
sobes.tech AI
პასუხი AI-სგან
ობიექტ-ფუნქცია, რომელსაც შეუძლია შექმნის გარემოდან ცვლადების დაჭერა, მიუხედავად იმისა, რომ ეს გარემო დასრულდა მისი შესრულების შემდეგ.
<?php
// დახურვა, რომელიც იჭერს $factor-ს
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // გამოტანა: 20
echo $triple(10); // გამოტანა: 30
ძირითადი მახასიათებლები:
- წარმოადგენს
Closureკლასის ინстанციებს. - შეიძლება მემკვიდრეობით მიიღოს ცვლადები მშობელ გარემოდან
useსაკვანძო სიტყვით. - მემკვიდრეობით მიღებული ცვლადები მემკვიდრეობით მიიღება მნიშვნელობით, თუ არ არის მითითებული პირდაპირი მემკვიდრეობა (
use (&$ცვლადი)). - ხშირად გამოიყენება ანონიმური ფუნქციების შესაქმნელად, რომლებიც "დამახსოვრებენ" თავიანთ შექმნის კონტექსტს.