问题:我需要动态调用一个类和该类的方法。我唯一得到的是两个字符串:
$class = "MyClass";
$method = "myMethod";
如何创建 $class 中指定的类的实例,然后调用 $method 中指定的该实例上的方法?
喜欢:
$instance = new MyClass;
$instance->myMethod();
$instance = new $class;
$instance->$method();
正如您所期望的那样。但显然,如果您将其作为用户输入,您将希望 100% 确定您根据可接受的列表验证了类和方法名称。如果该类only用于公共API,那么您不需要单独的方法白名单,但在采用该方法时您绝对需要100%确定,因为允许用户直接输入到您的程序流程中非常重要,非常危险。