title: when using self, parent, static and how?
body: <p>If by now I understood a little in ststic Now I realize I do not understand anything. I'm so confused and I struggle to understand and I can not. Someone can explain this program when using self, parent, static and how 
  All the smallest change I do changes the result without that I can not understand what's going on.
  thanks a lot ..</p>
  
  <p>the code from <a href="http://docs.php.net/language.oop5.late-static-bindings">http://docs.php.net/language.oop5.late-static-bindings</a></p>
  
  <pre><code>&lt;?php
  class A {
      public static function foo() {
          static::who();
      }
  
      public static function who() {
          echo __CLASS__."\n";
      }
  }
  
  class B extends A {
      public static function test() {
          A::foo();
          parent::foo();
          self::foo();
      }
  
      public static function who() {
          echo __CLASS__."\n";
      }
  }
  class C extends B {
      public static function who() {
          echo __CLASS__."\n";
      }
  }
  
  C::test();
  ?&gt;
  </code></pre>
  
  <p>The out put are:</p>
  
  <pre><code>A
  C
  C
  </code></pre>