我不确定这是否可行,但我尝试动态调用我的Test
类中的函数Dropdown()
通过执行此操作,我能够动态引用我的public $Store;
变量。
$model=new Test;
$lol = 'Store';
echo $model->{$lol};
但是当我尝试在班上调用函数Dropdown()
时,我收到错误Property "Test.Dropdown()" is not defined.
$model=new Test;
$lol = 'Dropdown()';
echo $model->{$lol};
我如何动态调用Test类中的函数?
答案 0 :(得分:2)
使用$model->{$lol}()
调用该方法:
$className = 'Test'; //additional dynamic class call, if needed example for that too.
$class = new $className();
$method = 'Dropdown';
$class->{$method}();
答案 1 :(得分:0)
您可以使用此功能call_user_func()
或call_user_func_array()
:
class Test {
public function Dropdown($text) {
echo($text);
}
}
$class = 'Test'; // class name
$method = 'Dropdown'; // only the method name, the '()' is part of the PHP syntax
$param = "Hello world\n"; // parameter
call_user_func([$class, $method], $param);