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
Evet, bu mümkün, yani variable functions, bir look at this. strong> 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.