$namespaces=array(); foreach(get_declared_classes() as $name) { if(preg_match_all("@[^\\\]+(?=\\\)@iU", $name, $matches)) { $matches = $matches[0]; $parent =&$namespaces; while(count($matches)) { $match = array_shift($matches); if(!isset($parent[$match]) && count($matches)){ $parent[$match] = array(); } $parent =&$parent[$match]; } } }
E com o código acima, podemos ver todos os namespaces existentes num dado programa, avaliando todas as classes atualmente carregadas, na variável $namespaces.
O namespace padrão, raiz do sistema não constará nesta lista.