哪个更好,为什么:
call_user_func(array($class, $method), $params);
或
$class::$method($params);
第二种方法仅适用于PHP 5.3。我在较旧的virsion投掷致命错误意外T_PAAMAYIM_NEKUDOTAYIM。 (我的ide也认为它是一个语法错误。但它确实有效)
答案 0 :(得分:3)
如果可移植性对您很重要,那么您应该使用第一种方式的明显答案。如果您知道自己总是至少瞄准PHP 5.3,那么您应该使用自己感觉最舒服的方法。 $class::$method($params);
更短更清洁,所以我自己去做。
答案 1 :(得分:1)
两者都很好。不过,我认为第二种语法更清晰。如你所说,唯一的缺点是需要5.3 +。
答案 2 :(得分:0)
使用PHP 5.3.0,还有forward_static_call()功能,虽然对其使用有一些限制