PHP OOP: bir değişken Sınıf-fonksiyonu?

1 Cevap php

Böyle sınıftan işlevleri çağırmak mümkün mü:

$class = new class;
$function_name = "do_the_thing";
$req = $class->$function_name();

Benzer bir çözüm şey, bu işe görünmüyor?

Martti Laine

1 Cevap

Evet, bu mümkün, yani variable functions, bir look at this. gibi biliyorum

Example from PHP's official site:

<?php
class Foo
{
    function Variable()
    {
        $name = 'Bar';
        $this->$name(); // This calls the Bar() method
    }

    function Bar()
    {
        echo "This is Bar";
    }
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname();  // This calls $foo->Variable()

?>

Senin durumunda, fonksiyon do_the_thing var olduğundan emin olun. Ayrıca işlevin dönüş değerini saklamak unutmayın:

$req = $class->$function_name();

Değişken $req ne içerdiğini görmek için deneyin. Örneğin, bu size bilgi vermelidir:

print_r($req); // or simple echo as per return value of your function

Note:

Değişkenli fonksiyonlar gibi echo(), print(), unset(), isset(), empty(), include(), require() ve benzeri gibi dil yapıları ile çalışmaz. Değişken işlevleri gibi bu yapıları herhangi faydalanmak için sarıcı işlevleri kullanmak.