du unterscheidest nicht zwischen dem statischen aufruf und einem methodenaufruf in einer instanz.
du hast die instanz b.
was soll der statische aufruf von a::a() bewirken?
er führt zum aufruf der methode getText() der eigenen instanz. diese methode ist aber in b überschrieben, so daß diese in b aufgerufen wird.
um das von dir gewünschte zu erreichen, mußt du in a einen statischen aufruf machen.
also:
function A() {
return A::getText();
}
nur so ist es möglich, gezielt unterschiedliche methoden aufzurufen. eine instanz gibts ja nur einmal. und eine methode kann es nur einmal in einer instanz geben, wenn sich diese nicht wie in java durch unterschiedliche signaturen unterscheiden. aber soweit ist php noch nicht.