Por favor lee el manual acerca de namespaces, variables y funciones.
Tu problema tiene que ver más con el uso de variables que aproximen valores usables, como funciones o instancias de clase.
El tema es que tratas de devolver cadenas que por arte de magia se intenten evaluar en otros contextos: y eso no funciona sólo porque lo pienses así.
Primero debes entender como funcionan las variables al respecto:
Código PHP:
Ver originalfunction foo() {
return 'bar';
}
$x = 'foo';
echo $x(); // bar
Eso funciona así en el contexto global, sin embargo:
Código PHP:
Ver original// MAL
$x = '\\A\\a()';
echo $x();
// BIEN
$x = '\\A\\a';
echo $x();
// equivalente
// así que podrías usar esto
¿Por qué agregas parentesis en tus cadenas a evaluar?
Yo pienso que el error es ese, por favor consulta un manual al respecto.