K čemu? Přeci ty děláš to samé, vytáhneš jeden prvek z pole (název třídy) a dle něj vytvoříš objekt, přičemž v dokumentaci dělají to samé jen nemají pole jako ty, ale přímo ten "jeden prvek" - ten konkrétní název.
Co se týče tvého kódu, stačí upravit řádek kde vytváříš objekt a přidat tam namespace (případně už to upravit v tom array):
public function __construct(){
$namespace = "\path\";
$key='a';
$array=['a'=>'AAA','b'=>'BBB','c'=>'CCC'];
if(array_key_exists($key, $array)) {
$className = $namespace . $array[$key]; // Spojíme dva stringy - namespace a název třídy do jednoho stringu
$obj=new $className(); // Vytvoříme instanci třídy dle jména v proměnné
}
}
Jinak ten odkaz na dokumentaci byl zejména na to, aby jsi se mohl podívat že je to zdokumentovaná vlastnost PHP (nutnost psát celý namespace v případně dynamického vytváření objektů) a použít ji.