Menu
Coddy logo textTech

Geri Çağırma (Callback) Fonksiyonları

Coddy'nin PHP Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 4 / 68.

Geri çağırma işlevi, başka bir işleve bağımsız değişken olarak geçirilen bir işlevdir. İşlevi hemen çağırmak yerine, alıcı işlevin gerektiğinde daha sonra çağırabilmesi için adını geçirirsiniz.

Bir işlevi geri çağırma işlevi olarak geçirmek için işlevin adını dize olarak kullanmanız yeterlidir:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

function processUser($username, $callback) {
    // Biraz işlem yap...
    $callback($username);  // Callback fonksiyonunu çağır
}

processUser("Alice", "greet");  // Çıktı: Hello, Alice!
?>

Bu örnekte, "greet" bir geri çağırma işlevi olarak processUser() işlevine aktarılır. Ardından processUser() işlevi, dizeyi işlev adı olarak kullanarak geri çağırmayı çağırır.

Geri çağırma işlevleri (callbacks), fonksiyonlarınızı daha esnek hale getirdikleri için inanılmaz derecede kullanışlıdır. Aynı fonksiyon, ona hangi geri çağırma işlevini geçirdiğinize bağlı olarak farklı eylemler gerçekleştirebilir. Bu kavram, bu kursun ilerleyen kısımlarında karşılaşacağınız array_map() ve array_filter() gibi PHP'nin yerleşik birçok fonksiyonu için temel teşkil eder.

challenge icon

Görev

Kolay

İki işlev oluşturun: bir formatUppercase adlı, bir dize alan ve onu büyük harfli olarak döndüren işlev ile bir dize alan ve onu küçük harfli olarak döndüren başka bir formatLowercase adlı işlev.

Ardından iki parametre kabul eden applyFormat adlı bir işlev oluşturun: bir metin dizesi ve bir geri çağırma işlevinin adı. Bu işlev, geri çağırmayı metne uygulamalı ve sonucu döndürmelidir.

İki girdi alacaksınız: işlem türü ("upper" veya "lower") ve biçimlendirilecek metin. Her iki girdiyi okuyun, işlem türüne göre hangi geri çağırmanın kullanılacağını belirleyin, uygun geri çağırmayla applyFormat işlevini çağırın ve biçimlendirilmiş sonucu yazdırın.

Girdi biçimi: İki satır — ilk satır işlem türünü ("upper" veya "lower") içerir, ikinci satır biçimlendirilecek metni içerir

Beklenen çıktı: İşlem türüne göre biçimlendirilmiş metin

Kendin dene

<?php
// Girdiyi oku
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));

// YAPILACAK: Kodunuzu aşağıya yazın
// formatUppercase fonksiyonunu oluşturun
// formatLowercase fonksiyonunu oluşturun
// applyFormat fonksiyonunu oluşturun
// İşlem türüne göre hangi geri çağırma (callback) fonksiyonunun kullanılacağını belirleyin
// Uygun geri çağırma fonksiyonu ile applyFormat'ı çağırın

// Sonucu yazdırın
echo $result;
?>
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online PHP derleyicisi