Reputation: 41433
Hay, when should variables be set within a PHP class?
<?php
class MyClass {
var $my_var; // here? like var $my_var = null;
function __construct(){
$this->my_var = null; // or here?
}
}
?>
Upvotes: 1
Views: 156
Reputation: 82096
Depends on the usage of the variable. OOP emphasizes that you initialize your variables in the constructor of the class.
Upvotes: 1
Reputation: 5763
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.
Upvotes: 0
Reputation: 10772
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.
Upvotes: 1
Reputation: 53940
i'd say
class Foo
{
public $bar = 'default';
function __construct($custom_bar = null) {
if(!is_null($custom_bar))
$this->bar = $custom_bar;
}
Upvotes: 0
Reputation: 321578
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.
Upvotes: 3