PHP 5.4: почему классы могут переопределять методы черты с другой сигнатурой?

Мне интересно, есть ли веская причина, по которой такое поведение возможно в текущей реализации PHP 5.4:

trait T {
    public function test(PDO $pdo) {}
}

class C {
    use T;
    public function test(DOMDocument $dom) {}
}

Я думал, что тот факт, что класс использует черту, гарантировал, что у этого класса был определенный доступный интерфейс. Но здесь, если мы непреднамеренно переопределим метод черты для другой цели, мы даже не получим уведомление о строгих стандартах, как при классическом наследовании.

Это специально разрешено специально? Зачем?

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

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