Dan*_*Dan 4 php methods static
我有三个类都有一个名为'create'的静态函数.我想根据表单的输出动态调用适当的函数,但是语法有点麻烦.无论如何要执行此操作?
$class = $_POST['class'];
$class::create();
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.
谢谢.
如果您使用的是PHP 5.2,则可以使用call_user_func(或call_user_func_array):
$className = 'A';
call_user_func(array($className, 'method'));
class A {
public static function method() {
echo 'Hello, A';
}
}
Run Code Online (Sandbox Code Playgroud)
会得到你:
Hello, A
Run Code Online (Sandbox Code Playgroud)
您在问题中使用的语法只能在PHP> = 5.3时使用; 请参阅静态关键字的手册页,关于:
从PHP 5.3.0开始,可以使用变量引用该类.变量的值不能是关键字(例如self,parent和static).