|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.05.2013, 04:25 | #1 |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
PHP Паттерн MVC
Здравствуйте
Опишу что как работает. А потом собственно вопрос о возникшей проблеме. Имеется одна точка входа в приложение, "Index.php" - все запросы пользователя попадают в этот модуль. Изначально в "Index.php" я выдаю сессию и куки, после чего подключаю модуль "Router.php" в нем класс маршрутизации. Который парсит URL и подключает нужный контроллер соответственно который подключает модель и вызывает в ней нужный нам метод, после передает полученные данные от модели в представление. Вот так мы получаем данные готовые к отображению. А теперь проблема. Также у меня есть общий шаблон страницы сайта, так называемый "layout.php". Проблема собственно в том, что я не знаю как правильно реализовать подключения модуля "layout.php". Точнее где луче его подключить чтобы выглядело красиво и с минимальной зависимостью от чего либо. Есть мысль по этому поводу но может она не совсем корректна. Можно подключить его в "Router.php" а в самом "layout.php" уже в нужном месте подключать нужный нам контроллер. Или предложите вариант красивее и корректней. И если еще где-то я не прав, буду очень рад если поправите меня Заранее очень благодарен
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
22.05.2013, 14:39 | #2 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
Как вы в layout будете подключать controller я вобще не понимаю.
layout это часть представления, поетому прикрутить его надо к представлению. |
23.05.2013, 01:32 | #3 | |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Цитата:
В Router.php подключать layout.php - передавая в него имя контроллера и там его уже и подключать
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
|
23.05.2013, 10:39 | #4 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
покажите пример layout.php
|
23.05.2013, 12:49 | #5 |
Регистрация: 10.07.2012
Сообщений: 4
|
Работа файлов по схеме MVC это чем то похоже наверняка с работой их как и в фрэймворке Codelgniter где происходит взаимосвязь между собой контроллера <=> моделей <=> вида с применением хелперов и библиотек.
|
23.05.2013, 16:42 | #6 | |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Цитата:
контроллера <=> моделей <=> вида - это и есть MVC
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
|
23.05.2013, 16:47 | #7 |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Код:
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
23.05.2013, 17:33 | #8 |
Форумчанин
Регистрация: 28.06.2010
Сообщений: 189
|
И вы хотите отсюда контроллера команды вызывать? Это не годится )
Контроллер не должен возвращать данные, он должен передать их представлению. В классе представления подключайте этот layout.php, вставляйте в него нужные данные и выводите. Последний раз редактировалось buriat; 24.05.2013 в 11:07. |
25.05.2013, 06:18 | #9 |
Форумчанин
Регистрация: 07.11.2009
Сообщений: 218
|
Огромное спасибо всем за внимание
Проблема решена. Немного о решении проблемы. написал класс PHP код:
Код:
Я бы изменил мир, но Бог не дает исходников...
Если помог, нажми на весы и поставь плюс - в знак благодарности |
29.09.2013, 17:16 | #10 |
Регистрация: 05.09.2013
Сообщений: 4
|
Все о mvc в php
http://mvcphp.ru/ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паттерн | Начинающий програм | Помощь студентам | 0 | 20.05.2013 19:41 |
Паттерн наблюдадель. c# | Skull_psyhothik | Помощь студентам | 0 | 22.04.2013 20:38 |
Быстродействие PHP ( MVC ) | 1ord | PHP | 1 | 05.03.2011 20:53 |
паттерн singleton | zhenya.ya | Общие вопросы C/C++ | 1 | 26.11.2010 03:11 |
Паттерн MVP | Vistar | Общие вопросы .NET | 0 | 11.09.2010 18:45 |