1
问题:我需要动态调用该类和该类的方法。我唯一得到的是两个字符串:如何在这种情况下创建一个类的实例并调用它的方法?
$class = "MyClass";
$method = "myMethod";
我怎样才能创建$类中指定的类的实例,然后调用在$方法指定实例的方法?
像:
$instance = new MyClass;
$instance->myMethod();
问题:我需要动态调用该类和该类的方法。我唯一得到的是两个字符串:如何在这种情况下创建一个类的实例并调用它的方法?
$class = "MyClass";
$method = "myMethod";
我怎样才能创建$类中指定的类的实例,然后调用在$方法指定实例的方法?
像:
$instance = new MyClass;
$instance->myMethod();
$instance = new $class;
$instance->$method();
就像你所期望的。很显然,如果你将这个作为用户输入,你会希望100%确定你能够根据可接受的列表验证类和方法名。如果该类为,则只有用于公共API,那么对于方法您不需要单独的白名单,但是当您采取该方法时,您绝对需要100%确定,因为允许直接用户输入到您的程序流中非常, 非常危险。