Sobes.tech
Middle

PHP'de kapanış nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

İçeriği kapsayabilen ve oluşturulduğu alan dışındaki değişkenleri bile, alan sona erdikten sonra bile yakalayabilen nesne fonksiyonu.

<?php
// $factor'ü yakalayan kapanış
$multiplyBy = function ($factor) {
    return function ($number) use ($factor) {
        return $number * $factor;
    };
};

$double = $multiplyBy(2);
$triple = $multiplyBy(3);

echo $double(10); // Çıktı: 20
echo $triple(10); // Çıktı: 30

Ana özellikler:

  • Closure sınıfının örnekleridir.
  • use anahtar kelimesiyle üst alan değişkenlerini miras alabilirler.
  • Miras alınan değişkenler, açıkça referans mirası (use (&$variable)) belirtilmediği sürece, değer olarak miras alınır.
  • Genellikle, "yaratıldıkları bağlamı" hatırlayan anonim fonksiyonlar oluşturmak için kullanılırlar.