2017-10-30 12 views
1

文字列を使用してクラス内の関数を呼び出そうとしています。例:文字列を使用してクラス内の関数を呼び出すことはできますか?

$clt = new Controller ; 
$controller = self::$controller_get[$key]."()"; 
$clt->$controller 

ここでは、$controllerを関数の名前に置き換えたいとします。それは可能ですか?

+0

このアプローチは非常に慎重に使用する必要があることを、注意してください。コードをデバッグするのは本当に難しいことです。 –

答えて

1

いくつかの可能性があります

まず、関数を呼び出すときに正しい構文を使用する必要があります。

$clt->$controller(); 

が、私のお気に入りはこれです:

$className->{"variableName"}; 
$className->{"methodName"}(); 
1
$clt = new Controller ; 
$controller = self::$controller_get[$key]; 
$clt->{$controller}(); 
関連する問題