Использование пространств имен с классами, созданными из переменной

Итак, я создал эти два класса

//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);
    }    
}

Теперь это очень упрощенная версия обоих, но этого достаточно, чтобы проиллюстрировать мой вопрос. Классы, показанные здесь, не будут работать, так как не найдут класс Quarter. Чтобы это работало, я мог бы изменить переменную $ class на

$class = "\Resources\Quarter";

Итак, мой вопрос: зачем мне здесь использовать пространство имен, когда оба класса уже являются членами одного и того же пространства имен. Пространство имен требуется только тогда, когда я помещаю имя класса в переменную таким образом:

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

будет работать без проблем. Почему это так и есть ли здесь потенциальные ловушки, которых мне нужно избегать?

Ответы на вопрос(1)

Ваш ответ на вопрос