Вопрос о сборке собственного (PHP) фреймворка MVC - PullRequest
2 голосов
/ 20 сентября 2010

В настоящее время я хочу построить инфраструктуру MVC.Все идет хорошо, но теперь у меня возникла проблема между контроллером и просмотром.Надеюсь, вы мне поможете.

Мой MVC не так сильно отличается от MVC, он использует ту же концепцию, но технически у меня возникла проблема.Вопрос в следующем: как получить данные из контроллера после загрузки представления?

Имейте в виду, что в представлениях вы не используете глобальные переменные или что-то подобное, каждый параметр (например, ответ БД и т. Д.) Должен бытьпередается в представление, и представление использует его напрямую (например ... например, CodeIgniter).

Я не знаю, как это лучше сказать, извините, если вы меня не понимаете.Но надеюсь, что вы можете!

Ответы [ 4 ]

3 голосов
/ 20 сентября 2010

Возможно, вы хотите связать список переменных с пространством имен представления.

Вы можете просмотреть Класс Коханы для вдохновения или идей.

3 голосов
/ 20 сентября 2010

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

Могу я спросить, почему вы разрабатываете свою собственную инфраструктуру MVC? Существует множество фантастических решений, я лично рекомендую вам попробовать CakePHP, я использовал его для доставки нескольких коммерческих продуктов и клянусь им!

0 голосов
/ 20 сентября 2010

Если ваша реализация View использует шаблонизатор, обычно есть механизм для добавления произвольных данных ключ / значение в область действия шаблона. Если вы еще не достигли этого уровня, возможно, стоит подумать о подобной стратегии.

0 голосов
/ 20 сентября 2010

Вы должны передать представлению ссылку на объект контроллера или представление должно использовать статические методы в связанном классе контроллера.Затем представление вызывает методы на контроллере для отображения результатов.Представление также передает данные формы в контроллер через объект или класс контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...