Mercury Effirium, я наверное слишком сложно для вас написал в ответе.
Надо было просто написать что если в getUserEmail() передать не объект класса Controller (или его наследник), то РНР выдаст ошибку. Так понятнее?
То есть это не "комментарий для программиста", а комментарий для самого РНР. ТИ используется оно не в коде, а при выполнении программы. РНР проверяет тип переменной и выдает ошибку, если тип не тот
Stalker_RED, как раз с хайлоадом у этой схемы все хорошо - она масштабируется горизонтально.
Так что у автора, как он сам пишет, это страхи на пустом месте. Ну и непонимание базовых принципов построения приложений, тех самых недостатков сильной связанности.
RINCODE, не надо, пожалуйста, нести чушь про "нагружать сервер". Вы не понимаете смысла этих слов, и поэтому не надо их употреблять. Надо просто делать, что вам говорят, и не кобениться на пустом месте.