[PHP] Klassenname in Variable + Statischer Funktionsaufruf
Posted: 2007-09-29 15:42
Hallo,
ich habe mal wieder ein etwas dubioses Problem. Ich versuche eine statische Methode einer Klasse aufzurufen, der Klassenname befindet sich allerdings in einer Variable. Merkwürdigerweise erlaubt PHP es mir nicht die Methode aufzurufen, beziehungsweise schlägt mir Parse-Error um die Ohren.
Codeausschnitt:
Wie man am Aufruf [1] sieht, dürfen Klassennamen auch in Variablen stehen, das ist auch so gewollt. Jedoch scheitert der andere Aufruf [2] kläglich mit einem Parse-Error. Selbst der Versuch die Variable $class_identifier in geschweifte Klammern zu setzen damit die Variable erst ausgewertet wird, scheitert mit einem weiteren Parse-Error (die Klammern sind dort nicht erlaubt).
Ich kann mir kaum vorstellen, dass dies so richtig ist und ich bin der festen Überzeugung das ich einfach etwas übersehe. Ein Aufruf über eval() oder ähnliches Gefusche schließt sich vollständig aus.
Ich wäre sehr dankbar, wenn mir jemand das Brett vorm Kopf wegnehmen kann ;)
Gruß
dtdesign
ich habe mal wieder ein etwas dubioses Problem. Ich versuche eine statische Methode einer Klasse aufzurufen, der Klassenname befindet sich allerdings in einer Variable. Merkwürdigerweise erlaubt PHP es mir nicht die Methode aufzurufen, beziehungsweise schlägt mir Parse-Error um die Ohren.
Codeausschnitt:
Code: Select all
<?php
if($this->application_config[$class_identifier]['details']['spawn'] == 'normal')
{
return new $class_identifier; [1]
}
else
{
return $class_identifier::GetInstance(); [2]
}
?>Ich kann mir kaum vorstellen, dass dies so richtig ist und ich bin der festen Überzeugung das ich einfach etwas übersehe. Ein Aufruf über eval() oder ähnliches Gefusche schließt sich vollständig aus.
Ich wäre sehr dankbar, wenn mir jemand das Brett vorm Kopf wegnehmen kann ;)
Gruß
dtdesign