我有一個數組填充了幾個類方法,我可以隨機調用一些這些方法進行測試。 下面的代碼是我想要做的工作,但是,我只是獲取方法的名稱,它沒有執行。從數組值運行一個方法
例如,可以說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