之间有区别吗?
class foo {
public $bar = 'baz';
}
和
class foo {
public $bar;
public function __construct()
{
$this->bar = 'baz';
}
}
答案 0 :(得分:2)
始终使用 constructor
初始化变量的方式。下面的示例会在您的第一个方法上引发错误。
class foo {
public $bar = $_POST['foo']; //Error will be thrown
}
class foo {
public $bar;
public function __construct()
{
$this->bar = $_POST['foo']; // Works just fine
}
}
答案 1 :(得分:1)
最初没有任何不同......
答案 2 :(得分:0)
不是我意识到的。 PHP没有像{1}那样的final
概念,所以这个方法可以随时更改。无论你是否在构造函数中执行它都不会影响任何事情
答案 3 :(得分:0)
使用参数是如何最大化构造函数概念的方法,
如:
class foo {
private $bar;
public function __construct($bar)
{
$this->bar = $bar;
}
public function getBar()
{
return $this->bar;
}
}
$foo = new foo("daison12006013");
echo $foo->getBar();