PHP-使用范围解析运算符调用变量静态方法


PHP - call to a variable static method using the scope resolution operator

我想以类名和方法名都是变量的方式调用静态方法。

示例:

class QQQ {
   public function www($x) {
      echo $x;
   }
}
$q = 'QQQ';
$w = 'www';
$q::$w(7); // this is what I am trying to do but it throws an error.

想法?

只需要更改

public function www($x) {

public static function www($x) {

因为,您通过作用域解析运算符::调用它,所以它应该是静态的或者您应该更改调用它的方式

$test = new $q;
$test->$w(5);

应该可以工作,这取决于你试图用它做什么。