Hay,何时应该在PHP类中设置变量?
<?php
class MyClass {
var $my_var; // here? like var $my_var = null;
function __construct(){
$this->my_var = null; // or here?
}
}
?>
答案 0 :(得分:3)
这取决于你想要初始化它们的内容。如果可能的话,我更喜欢在声明它们时初始化它们,但是如果它们需要(例如,方法调用的结果),那么你需要在构造函数中初始化它们。
答案 1 :(得分:1)
我认为最好在构造函数中初始化它们。我通常认为这是开发人员偏好的问题,但随着auto-implemented properties与C#3.0的引入,我认为将所有初始化简单地放在构造函数中会更有意义,因为你无法为一个值提供值。以这种方式宣布的财产。并且保持变量初始化的位置是一致的,这使得代码更具可读性。
答案 2 :(得分:1)
取决于变量的用法。 OOP强调您在类的构造函数中初始化变量。
答案 3 :(得分:0)
我会说
class Foo
{
public $bar = 'default';
function __construct($custom_bar = null) {
if(!is_null($custom_bar))
$this->bar = $custom_bar;
}
答案 4 :(得分:0)
只要您有足够的信息正确设置它们。
答案 5 :(得分:0)
对我来说,在声明中初始化的变量(在构造函数之外)看起来太像一个常量。这完全是首选,但我选择在构造函数中初始化,如果可能的话。