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; Quote 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 On 1/15/2013 at 1:25 AM, eldan88 said: 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. Quote 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! Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.