>我有一个保存类名的变量。
public $modelClass = 'commonmodelsNotecard';
该类具有静态方法。
public static function do_something() { ... }
鉴于这些信息,我想调用静态函数。对于非静态函数,我可以执行以下操作:
$model_name = $this->modelClass;
$model = new $model_name();
$model->do_something_else();
是的,这很容易:您可以从实例中调用函数,例如
$model_name = $this->modelClass;
$model = new $model_name();
$model::do_something();
或使用 call_user_func()
call_user_func([$modelClass, 'do_something']);
您可以使用$model_name::do_something_else()
.
class foo {
public static function bar() {
echo "Called bar";
}
}
$fname = "foo";
$fname::bar();
输出Called bar
适用于 php7。