Dynamische Namespace-Klasse mit Alias

SO,

Ich habe ein Problem mit der dynamischen Objekterstellung mithilfe von Namespaces. Hier ist der Namespace-Code:

namespace Foo
{
   class Bar
   {
   }
}

Jetzt versuche ich, ein Objekt der Klasse zu erschaffenBar mit:

include('namespace.php');
$sName  = 'Bar';
$sClass = '\\Foo\\'.$sName;
$rObj   = new $sClass; //correct object

und alles läuft gut damit. Aber jetzt möchte ich einen Alias ​​verwenden und Folgendes tun:

include('namespace.php');
use Foo as Baz;
$sName  = 'Bar';
$sClass0= '\\Foo\\'.$sName;
$sClass1= '\\Baz\\'.$sName;
$rObj   = new $sClass0; //correct object
$rObj   = new $sClass1; //Fatal error

Und ich kann ein Objekt nicht auf diese Weise instanziieren (und der Zugriff über den vollständigen Namen funktioniert immer noch gut). Meine Frage ist also: Ist es irgendwie möglich, über einen Alias ​​auf die Klasse zuzugreifen, und wenn ja, wie? Ich habe auch versucht, bei der Verwendung zuzugreifen$sClass1='Baz\\'.$sName - Kein Erfolg. Außerdem habe ich deklarierte Klassen über überprüftget_declared_classes() Funktion, es zeigt, dass ich nur habe\Foo\Bar Klasse (kein Verweis auf einen Alias).

Ich bin nicht sicher, ob es wichtig ist, aber ich verwende PHP 5.5-Version.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage