开发者

When should variables be set in a class

Hay, when should variables be set within a PHP class?

<?php
    class MyClass {
        var $my_var;    // here? like var $my_var = null;
        function __co开发者_如何学运维nstruct(){
            $this->my_var = null; // or here?
        }
    }
?>


It depends what you want to initialise them to. I prefer to initialise them when they're declared if possible, but if they need to be, for example, the result of a method call, then you'll need to initialise them in the constructor.


I'm thinking it would be best to initialize them in the constructor. I would normally think it's a matter of developer preference, but with the introduction of auto-implemented properties with C# 3.0, I think it makes more sense to simply put all intialization in the constructor(s) because you cannot supply a value to a property declared in this manner. And being consistent about where you intialize variables makes your code more readable.


Depends on the usage of the variable. OOP emphasizes that you initialize your variables in the constructor of the class.


i'd say

    class Foo 
    {
        public $bar = 'default';

        function __construct($custom_bar = null) {
            if(!is_null($custom_bar))
                $this->bar = $custom_bar;
        }


As soon as you have enough info to set them correctly.


To me, a variable initialized at its declaration (outside of the constructor) looks too much like a constant. It's totally preference, but I choose to initialize in the constructor if at all possible.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜