Hello, everybody.
While working with static variables inside static class' methods, I have
found this very interesting (at least for me) behavior of PHP.
Consider the following class definitions (example #1):
class X {
public final static function test() {
static $i;
return ++$i;
}
}
class Y
I think you are confusing scope visibility level of the variable within
method and the class.
Variable within the method is going to 1 because it was declare within the
test method and there no link to the one declared outside the test method.
The second case is referencing the varible of the
The second case is referencing the varible of the class.
Maybe you are right. However, I don't really think that there is a true
reference to the class var in example #2.
PHP documentation of static keywords does not unambiguously explain behavior
of static variables inside methods in example
2011/7/6 Дмитрий Степанов dmit...@stepanov.lv
PHP documentation of static keywords does not unambiguously explain
behavior
of static variables inside methods in example #1. I believe that in
example #1 the exactly same instance of function (method) is used
irregarding of how you call it
4 matches
Mail list logo