title: PHP static variables in an abstract parent class
body: <p>Quick code with the question included:</p>
  
  <pre><code>abstract class ClassParent {
      public static $var1 = "ClassParent";
  }
  
  class ClassChild1 extends ClassParent{
      public static function setvar1(){
          ClassChild1::$var1 = "ClassChild1";     
      }
  }
  
  class ClassChild2 extends ClassParent{
      public static function setvar1(){
          ClassChild2::$var1 = "ClassChild2";
      }
  }
  
  
  ClassChild1::setvar1();
  
  echo ClassChild2::$var1;
  // Returns "ClassChild1". Shouldn't this still be "ClassParent"?
  </code></pre>
  
  <p>I am assuming that the above is expected behaviour and not a PHP bug. In that case, how could I declare a static variable in the parent class which will be handled separately for the child classes. In other words, I want to have separate static values PER CHILD CLASS. Must I declare the static variable specifically in the child classes or is there perhaps another way?</p>
  
  <p>Thanks!</p>