Yo entiendo que hay precondiciones y que en el directorio controllers hay controladores y no papas, de todas formas como te comente antes, si es necesaria tanta introspección preferible Reflection
Código PHP:
Ver original$reflector = new ReflectionClass('FooClass');
if ($reflector->isInstantiable()) {
...
}
y bueno sobre el antipattern de Singleton no es necesario saber si es instanciable siempre se puede forzar la instanciacion con Reflection.
Saludos.