Ваш вид не будет иметь доступа к защищенным методам модели / контроллера. Защищенный не означает только чтение, это означает, что только классы, которые расширяют базовый класс, могут получить доступ к защищенным свойствам или методам.
Чтобы иметь в вашей модели атрибуты только для чтения, вы должны посмотреть, используя закрытые / защищенные свойства, а затем создать публичную функцию получения для каждого свойства (свойство может быть прочитано, но не установлено).
Кроме того, чтобы получить доступ к модели из представления, рассмотрите возможность создания модели в виде Singleton, чтобы к ней можно было получить доступ из любого места в вашем приложении.
Контроллер обычно не делает ничего другого, кроме прослушивания и отправки событий / уведомлений, иногда для небольших проектов вы можете заставить свой класс Model (Singleton) расширить EventDispatcher и заставить его делать почти все, что вы хотите, но это не так. чистый MVC и может быстро привести к технической задолженности, если масштаб проекта увеличивается.