在 class 中设置属性的默认值

Setting defaults for properties in a class

我需要编写一个 class,用户可以根据需要在其中设置自己的值。我需要为属性设置默认值。

我将如何以正确的方式做到这一点。这是我需要实现的示例

class Test
{
    protected $var1;
    protected $var2;

    public function __construct($var1, $var2)
    {
        $this->var1 = $var1;
        $this->var2 = $var2;
    }

    public function setVar1($var1)
    {}

    public function getVar1()
    {}

    //etc
}

$var1 应具有默认值 true$var2 应为文本字符串,例如 foo bar。用户可以将自己的新值设置为 $var1$var2

我如何将这些编码到上面的示例中

这是我的想法

您可以为方法参数设置默认值。请注意,当您调用您的方法时,这也使它们成为可选的:

public function __construct($var1 = true, $var2 = 'foo bar')

也许你需要这样的东西

  class Test
  {
  protected $var1;
  protected $var2;

  public function __construct($var1=true, $var2='foo bar')
  {
    $this->var1 = $var1;
    $this->var2 = $var2;
  }

  public function setVar1($var1)
  {
     $this->var1=$var1;
  }

  public function getVar1()
  {
     return $this->var1;
  }


}