我有一节课:
class Sections {
public static function get($name) {
//
}
}
我想用变量(http://php.net/manual/en/functions.variable-functions.php)调用静态函数get():
$section = 'Sections::get';
$section('body');
但是它给了我一个致命的错误:调用未定义的函数Sections :: get()
是否可以这种方式调用静态函数?
谢谢!
答案 0 :(得分:4)
您需要将该类与方法分开存储:
$class = 'Sections';
$method = 'get';
现在你可以这样称呼它:
$class::$method('body');
答案 1 :(得分:0)
尝试使用call_user_func
执行此操作:
$section = array('Sections', 'get');
call_user_func($section, 'body');
或者:
$section = 'Sections::get';
call_user_func($section, 'body');
答案 2 :(得分:0)
我已经在班级以外的函数的帮助下解决了它:
class Sections {
public static function get($name) {
//
}
}
function section($name) {
Sections::get($name);
}
现在我能做到:
$section = 'section';
$section('body');