Я правильно понимаю суть контроллера ? Он должен обработать то, что пришло в запросе (из $_GET, $_POST, или $_REQUEST) или обработать $_SERVER['REQUEST_URI'] если у нас ЧПУ. Дальше подгрузить соответствующую логику(передав ей какие-либо данные из запроса, если необходимо), она же модель. И после контроллер должен подгрузить соответствующий шаблон, передав в него то что сгеннерировала модель. Могут ли шаблоны обращаться к методам модели напрямую ? Нормально ли хранить объекты моделей и видов в свойствах класса/объекта контроллера ? И ещё, если у меня например есть логика(к примеру регистрации и аутентификации/авторизации) которая не генерирует данных на вывод, она тоже называется слоем модели ?
В контроллере принимается решение, на действие пользователя. А работать с суперглобальными переменными(из $_GET, $_POST, или $_REQUEST) лучше в отдельном классе к примеру назвать его Request Получил данные, от пользователя, решается какие данные надо вытаскивать, какую страницу надо показывать. Лучше это дело переложить на класс который занимается работой с базой. Да, нормально. Добавлено спустя 4 минуты 32 секунды: Вообще контроллеров тоже много FrontCOntroller PageController ApplicationController
mahmuzar, спасибо за отклик ! А класс который занимается работой с базой(какойнить DbDriver) это не часть модели ?
К примеру есть у тебя страница контакты создай класс ContactManager и там уже работаешь с базой. А вот коннект к бд и остальная работа уже в другом классе Добавлено спустя 39 секунд: Создаешь объект ContactManager в контроллере страницы получаешь данные из базы обрабатываешь и передаешь представлению Добавлено спустя 2 минуты 8 секунд: machetero, думаю лучший вариант посмотреть как это дело сделано в других фреймворках. К примеру Symfony/
Нет, каждый раз ищу, благо не так часто это нужно. Я помню тоже не мог въехать как это устроено, смотрел всякие видео, читал статьи, но толку ноль, везде какие то заумные слова - догма, парадигма, паттерн, концепция и т.д., потом с горем пополам, с помощью обитателей этого форума я более менее понял что к чему. Потом в одной из тем увидел вопрос по этому поводу, подумал как бы объяснить так, что бы было понятно, расписал, потратил на это время и мыслительную силу, так что теперь даю ссылку.