Hmmmm, an den Namespace hatte ich garnicht gedacht, also daß man den auch da mit angeben kann.
Aber ich hatte irgendwo gelesen, daß z.B. bei einem direkten Aufruf von spl_autoload_call oder eben deinem
new $foo();
, vorallem in Verbindung mit Usereingaben, da auch "Verzeichnisse" mit übergeben werden könnten.
Was "Probleme" bereiten würde, wenn man aus dem Klassennamen einen Dateinamen zusammenbastelt.
Nja, und darum wollte ich verhindern, daß hier Verzeichnissangaben im Klassennamen enthalten sind.
[edit]
Grade ausprobiert ... gibt keine Probleme mit Namespace
Code:
function LoadClass($Class) {
echo $Class . '<br>';
}
spl_autoload_register('LoadClass', true);
$X = new Foo/Bar();
und bei
$X = new Foo:Bar();
kommt es zu einem Parse-Error.