我有一个数组填充了几个类方法,我可以随机调用一些这些方法进行测试。 下面的代码是我想要做的工作,但是,我只是获取方法的名称,它没有执行。从数组值运行一个方法
例如,可以说1
返回到$methodIndex
,我找回func2()
而不是Hello Func2
。
有没有PHP的功能来做到这一点或简单的解决方法?
class A{
public function func1() { echo "Hello Func1"; }
public function func2() { echo "Hello Func2"; }
public function func3() { echo "Hello Func3"; }
private $methods = ['func1', 'func2', 'func3'];
public function get_methods(){ return $methods; }
}
$object = new A();
$methodIndex = mt_rand(0, count($object->get_methods()) - 1);
$object->get_methods()[$methodIndex]."()"; //e.g. $object->func2();
我认为这会让你指向正确的方向:http://stackoverflow.com/questions/16740112/php-call-class-function-by-string-name – Alderin