Menu
Coddy logo textTech

'call_user_func' Kullanımı

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

call_user_func() fonksiyonu, PHP'de fonksiyonları dinamik olarak çağırmanın güçlü bir yolunu sunar. Bir fonksiyonu doğrudan adıyla çağırmak yerine, fonksiyon adını bir dize değişkeninde saklayabilir ve onu yürütmek için call_user_func() fonksiyonunu kullanabilirsiniz.

İşte temel sözdizimi:

<?php
function greet() {
    echo "Hello World!";
}

$functionName = "greet";
call_user_func($functionName);  // Çıktı: Hello World!
?>

Bu, kullanıcı girişine veya koşullara bağlı olarak farklı fonksiyonları çağırmanız gerektiğinde özellikle yararlı hale gelir. Ayrıca, fonksiyonlara ek parametreler olarak dahil ederek argümanlar da geçirebilirsiniz:

<?php
function add($a, $b) {
    return $a + $b;
}

$operation = "add";
$result = call_user_func($operation, 5, 3);
echo $result;  // Çıktı: 8
?>

Bu dinamik fonksiyon çağırma, yürütülecek belirli fonksiyonun çalışma zamanında belirlendiği hesap makineleri, komut işlemcileri veya yönlendirme sistemleri gibi esnek uygulamalar oluştururken özellikle değerlidir.

quiz iconKendini test et

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

quiz iconKendini test et

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

quiz iconKendini test et

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

challenge icon

Görev

Kolay

Üç fonksiyon oluşturun: iki sayı alıp çarpımlarını döndüren multiply, iki sayı alıp farklarını döndüren subtract ve iki sayı alıp bölümlerini döndüren divide.

Üç girdi alacaksınız: işlem adı ("multiply", "subtract" veya "divide") ve iki sayı. Her üç girdiyi de okuyun, iki sayı ile uygun fonksiyonu çalıştırmak için call_user_func() kullanın ve sonucu yazdırın.

Giriş formatı: Üç satır - ilk satır işlem adını içerir, ikinci satır ilk sayıyı içerir, üçüncü satır ikinci sayıyı içerir

Beklenen çıktı: İşlemin sonucu

Kopya kağıdı

call_user_func() fonksiyonu, fonksiyon adını içeren bir dize değişkeni kullanarak fonksiyonları dinamik olarak çağırmanıza olanak tanır:

<?php
function greet() {
    echo "Hello World!";
}

$functionName = "greet";
call_user_func($functionName);  // Çıktı: Hello World!
?>

Fonksiyona ek parametreler ekleyerek argümanlar iletebilirsiniz:

<?php
function add($a, $b) {
    return $a + $b;
}

$operation = "add";
$result = call_user_func($operation, 5, 3);
echo $result;  // Çıktı: 8
?>

Kendin dene

<?php
// Girdiyi oku
$operation = trim(fgets(STDIN));
$num1 = floatval(fgets(STDIN));
$num2 = floatval(fgets(STDIN));

// YAPILACAK: Üç fonksiyonu (multiply, subtract, divide) burada oluşturun

// YAPILACAK: Uygun fonksiyonu çalıştırmak için call_user_func() kullanın

// Sonucu yazdır
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