我有一个数组$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]();
这样做的最佳和最优雅的方法是什么?
由于
答案 0 :(得分: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