<?php
class foo{
public static $myvar = 99;
public function __construct(){
$this->myvar = 35;
}
public function printMyVar(){
echo '->printMyVar(): '.$this->myvar;
}
public function setMyVar($mv){ $this->myvar = $mv; }
}
echo 'foo::$myvar: '.foo::$myvar."\n";
$foo = new foo();
echo $foo->printMyVar();
echo "\n";
echo 'foo::$myvar: '.foo::$myvar."\n";
echo "Conclusion: when using \$this-> to change the value, it adds another non-static version rather than changing the static version";
foo::$myvar: 99
Notice: Accessing static property foo::$myvar as non static in /in/cFaPO on line 7
Deprecated: Creation of dynamic property foo::$myvar is deprecated in /in/cFaPO on line 7
Notice: Accessing static property foo::$myvar as non static in /in/cFaPO on line 10
->printMyVar(): 35
foo::$myvar: 99
Conclusion: when using $this-> to change the value, it adds another non-static version rather than changing the static version
foo::$myvar: 99
Notice: Accessing static property foo::$myvar as non static in /in/cFaPO on line 7
Notice: Accessing static property foo::$myvar as non static in /in/cFaPO on line 10
->printMyVar(): 35
foo::$myvar: 99
Conclusion: when using $this-> to change the value, it adds another non-static version rather than changing the static version
foo::$myvar: 99
->printMyVar(): 35
foo::$myvar: 99
Conclusion: when using $this-> to change the value, it adds another non-static version rather than changing the static version
Output for 5.5.0 - 5.5.35, 5.6.0 - 5.6.21
foo::$myvar: 99
Strict Standards: Accessing static property foo::$myvar as non static in /in/cFaPO on line 7
Strict Standards: Accessing static property foo::$myvar as non static in /in/cFaPO on line 10
->printMyVar(): 35
foo::$myvar: 99
Conclusion: when using $this-> to change the value, it adds another non-static version rather than changing the static version
Output for 4.4.2 - 4.4.9
<br />
<b>Parse error</b>: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>/in/cFaPO</b> on line <b>4</b><br />
Process exited with code 255.
<br />
<b>Parse error</b>: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in <b>/in/cFaPO</b> on line <b>4</b><br />
Process exited with code 255.
Output for 4.3.2 - 4.3.4
<br />
<b>Parse error</b>: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in <b>/in/cFaPO</b> on line <b>4</b><br />
Process exited with code 255.