Ben: Statische Klassenmethode

Beitrag lesen

Hallo ChrisB

Du hattest darueber explizit das Beispiel

$myClass=new $className();
gebracht - und damit enthaelt $myClass eben nicht den Klassennamen als String, sondern eine Instanz der Klasse.

Ich hab's auch bemerkt, nachdem ich meinen Beitrag geschrieben habe, dass in meinem Beispiel ein Fehler drin war (zweite Antwort). Tja, einfach unüberlegt abgeschickt...

Wenn der Klassenname in einer Variablen stehen soll, scheint's dafuer wohl in PHP-Versionen < 5.3.0 keinen sauberen Weg zu geben - zumindest empfiehlt der dieser Nutzerkommentar auf der Manualseite zu ::, es ueber eval zu machen ...

Danke für den Link. Ist ja sehr unschön, dass mit eval zu machen. Aber wenn es keinen anderen Weg gibt...

Komisch finde ich es trotzdem, dass es funktioniert, wenn man eine Klasse instanziert (Bsp.: $myClass=new $className();). Da ist ja auch der Klassenname in einer Variablen. Das muss man wahrscheinlich nicht begreifen... :-)

Gruss Ben