Usando namespaces com classes criadas a partir de uma variável

Então eu criei essas duas classes

//Quarter.php
namespace Resources;
class Quarter {
    ...
}


//Epoch.php
namespace Resources;
class Epoch {

    public static function initFromType($value, $type) {
        $class = "Quarter";
        return new $class($value, $type);
    }    
}

Agora esta é uma versão muito simplificada de ambos, mas é suficiente para ilustrar a minha pergunta. As classes mostradas aqui não funcionarão, pois não encontrarão a classe Quarter. Para fazer isso funcionar eu poderia mudar a variável $ class para

$class = "\Resources\Quarter";

Então, minha pergunta é: Por que eu preciso usar o namespace aqui quando as duas classes já são membros do mesmo namespace. O namespace é necessário apenas quando coloco o nome da classe em uma variável, assim:

    public static function initFromType($value, $type) {
        return new Quarter($value, $type);
    }    

vai funcionar sem problemas. Por que isso e existe alguma armadilha potencial aqui que eu preciso evitar?

questionAnswers(1)

yourAnswerToTheQuestion