我有一个数组$run
,它包含$run[0] - class name
和$run[1] - class method to run
,我希望能够做到这一点:
// this is working ok
$class = new $run[0]();
// this is error
$class->$run[1]();
做这件事最好、最优雅的方式是什么?
感谢
在$run[1]
周围添加{}
:这使用了一个匿名类,该类自PHP>=7.0 以来可用
<?php
$run = [];
$run[0] = new Class {
public function myMethod(){
return 'Hello world';
}
};
$run[1] = 'myMethod';
$class = new $run[0]();
echo $class->{$run[1]}(); //Returns Hello world