如何在 PHP 中的静态函数中访问私有成员

我在 PHP 中有以下类

I have the following class in PHP

class MyClass
{
  // How to declare MyMember here? It needs to be private
  public static function MyFunction()
  {
    // How to access MyMember here?
  }
}

我完全不知道该使用哪种语法

I am totally confused about which syntax to use

$MyMember = 0;echo $MyMember

private $MyMember = 0;echo $MyMember

$this->MyMember = 0;echo $this->MyMember

谁能告诉我怎么做?

我不太擅长 OOPS.

I am kind of not strong in OOPS.

你能做到吗?

如果没有,我应该如何声明成员以便我可以在静态函数中访问它?

If not, how should I declare the member so that I can access it inside static functions?

推荐答案

class MyClass
{
  private static $MyMember = 99;

  public static function MyFunction()
  {
    echo self::$MyMember;
  }
}

MyClass::MyFunction();

请参阅可见性和范围解析运算符 (::) 在 php 手册的 oop5 章节中.

see Visibility and Scope Resolution Operator (::) in the oop5 chapter of the php manual.

相关文章