设置类中属性的默认值

时间:2015-03-26 17:56:58

标签: php class oop

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

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

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')

  • 或设置属性声明中的值,如protected $var1 = true;

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

也许你需要这样的东西

  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;
  }


}