是否有充分的理由首先在构造函数之外声明类所使用的变量?
class foo {
var bar; // why is this a good practice? (or could it be skipped?)
public function __construct() {
$this->foo = 'foobar';
}
}
我经常看到它,但我不确定它是做什么的,因为似乎可以将它们排除在外。
答案 0 :(得分:6)
在构造函数之外声明一个属性实际上声明它。
如果不这样做,则会在值受到影响时自动创建。
我认为声明属性至少有四个主要优点:
public
, protected
还是 private
所以:是的,即使PHP接受未声明的属性,也应该声明它们。
答案 1 :(得分:1)
对于受保护和私有成员,您需要声明。对于公众,您可以离开,但为了更好的可读性,您应该声明每个成员。 大多数IDE也使用声明来提示帮助。
也许你也需要它来反思,但我不知道它是否有效,因为我从未试图离开宣言:)