什么时候应该在类中设置变量

时间:2009-10-13 14:38:22

标签: php oop constructor

Hay,何时应该在PHP类中设置变量?

<?php
    class MyClass {
        var $my_var;    // here? like var $my_var = null;
        function __construct(){
            $this->my_var = null; // or here?
        }
    }
?>

6 个答案:

答案 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)

对我来说,在声明中初始化的变量(在构造函数之外)看起来太像一个常量。这完全是首选,但我选择在构造函数中初始化,如果可能的话。