在 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')
或在属性声明中设置值,例如 protected $var1 = true;
您可以为方法参数设置默认值。请注意,当您调用您的方法时,这也使它们成为可选的:
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;
}
}
我需要编写一个 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')
或在属性声明中设置值,例如
protected $var1 = true;
您可以为方法参数设置默认值。请注意,当您调用您的方法时,这也使它们成为可选的:
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;
}
}