lors de l'utilisation de l'auto, le parent, le statique et comment?

Si maintenant j'ai compris un peu dans ststic Maintenant, je réalise que je ne comprends rien. Je suis tellement confus et j'ai du mal à comprendre et je ne peux pas. Quelqu'un peut expliquer ce programme lors de l'utilisation de l'auto, le parent, le statique et comment
Toute la petite modification que je ne change le résultat, sans que je ne comprends pas ce qui se passe.
merci beaucoup ..

le code de http://docs.php.net/language.oop5.late-static-bindings

<?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();
?>

Les mettre sont:

A
C
C