0

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

例子:

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.

想法?

4

1 回答 1

0

只需要改变

public function www($x) {

public static function www($x) {

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

$test = new $q;

$test->$w(5);

应该工作,这取决于你想用它做什么。

于 2015-06-28T12:17:00.363 回答