如何在PHP中将非静态变量更改为静态方法

时间:2020-01-13 05:16:26

标签: php variables static non-static

我这样调用常量变量,但是显示错误,如何解决? 我不会像下面的代码那样称呼它,

$b = new A()
$b::$test

这里是我的代码

class A {
   const test = 4;
}

class B {

  private $a = null;
  public function __construct(){
      $this->$a = new A();
  }

  public function show(){
     echo $this->$a::test;
  }

}

$b = new B();
$b->show();

如何在A类中调用静态变量测试? 预先感谢

1 个答案:

答案 0 :(得分:2)

$this->$a::test;$this->$a = new A();外,其他所有方法都可以。您必须使用没有$标记的属性,如下所示

class A {
   const test = 4;
}

class B {

  private $a = null;

  public function __construct()
  {
      $this->a = new A();
  }

  public function show()
  {
     echo $this->a::test;
  }
}

$b = new B();
$b->show();