Como obter os namespaces das classes existes num script PHP

image_pdfimage_print
$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.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!