Kleine PHP5 Verständnisfrage zu "static"

nautiLus`

Erfahrenes Mitglied
Hallo, ich hab mal eine Frage zu statischen Methoden. Hierzu mal dieses kleine Beispiel was ich gerade geschrieben habe und testen wollte.

PHP:
class Lebewesen {
   private static $pelzFarbe = "braun";

   static function getPelzFarbe() {
   echo self::$pelzFarbe;
   }
}

echo Lebewesen::getPelzFarbe();  //braun

$Lw = new Lebewesen();
echo $Lw->getPelzFarbe();  //braun

Die Methode getPelzFarbe() ist jetzt mal als ststic deklariert und unten sind die Zugriffe über eine Klasseninstanz und eine Objektisntanz. Beides gibt als Ergebnis "braun" aus. Geb ich static bei der Methode weg ist alles wie vorher.

Nun die Frage: wozu brauch ich static bei Methoden?

//edit: oder ist static für Methoden einfach nur dafür da, dass man nicht unbeabsichtigt $this benutzt in der statischen Methode?
 
Zuletzt bearbeitet:
Hallo,

Methoden mit static sind Klassenmethoden, sie können ohne Objektinstanzen aufgerufen werden.

Wenn Du mal ein bisschen nach Objektorientierter Programmierung und static Methoden suchst, findest Du sicherlich ausführliche Beschreibungen.

vg Clemens
 
Zurück