eldan88 Posted January 15, 2013 Share Posted January 15, 2013 I have learned that static variables are shared through the inheritance tree. I got the following code from a tutorial I have been watching, and was wondering why when $foo is set to 3 it echos out "3" for class One, Two, and Three? class One { static $foo; } class Two extends One {}; class Three extends One {} One::$foo=1; Two::$foo=2; Three::$foo=3; echo One::$foo; echo Two::$foo; echo Three::$foo; Link to comment https://forums.phpfreaks.com/topic/273167-question-about-static-modifiers-in-oop/ Share on other sites More sharing options...
The Letter E Posted January 15, 2013 Share Posted January 15, 2013 I have learned that static variables are shared through the inheritance tree. I got the following code from a tutorial I have been watching, and was wondering why when $foo is set to 3 it echos out "3" for class One, Two, and Three? class One { static $foo; } class Two extends One {}; class Three extends One {} One::$foo=1; Two::$foo=2; Three::$foo=3; echo One::$foo; echo Two::$foo; echo Three::$foo; Because, it's "static", that means whatever value it's set to, that's the value it holds across all classes. You're trying to use it dynamically, which is the opposite of static. Link to comment https://forums.phpfreaks.com/topic/273167-question-about-static-modifiers-in-oop/#findComment-1405744 Share on other sites More sharing options...
eldan88 Posted January 16, 2013 Author Share Posted January 16, 2013 i see what you are saying! Makes sense. Thanks! Link to comment https://forums.phpfreaks.com/topic/273167-question-about-static-modifiers-in-oop/#findComment-1406131 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.