У меня единая точка входа и в строке браузера я передаю путь(запрос), который в классе routes формирует более понятное для приложение обращение т.е. создает контроллер и экшен, и всё это дело передается в модель (типа - эй модель, я вот такой контроллер, возьми в базе и подготовь то, что я передал тебе в экшене). Модель всё собирает, подготавливает, обрабатывает, высчитывает и отдает обратно контроллеру (так сказать голые , но подготовленные данные), а контроллер в свою очередь передает эти данные в вид (представление) в котором все эти данные уже приобретают понятный для пользователя (который задавал запрос), внешний вид. Т.е. модель не знает о виде, вид не знает о модели, а посредник у них это контроллер. Пример: Заказчик(юзер) принес контроллеру, яблоки и сказал, "нужно пюре в стеклянных банках", контроллер передал яблоки в модель и сказал "нужно пюре", модель по своим рецептам готовит пюре и передает готовое пюре обратно в контроллер, контролер берет пюре и говорит виду, "вот пюре, расфасуй его по стеклянным банкам и верни заказчику" Я верно понимаю? PS: Но первостепенно юзер передает информацию на проходную (route), где вообще, проверяется актуальность его запроса, занимаются ли тут яблоками и делают ли тут вообще пюре.
Угу. Только надо понимать, что модель - это не один класс, это слой. Данные могут пройти через десятки классов этого слоя, при необходимости.
Примерно так. Проверку входных параметров делают во фронте/роутере и в контроллере, полученном в результате роутинга. Также есть такая вещь, как «избыточные проверки» параметров ф-ций и методов – защита от дурака-программиста. Где-то ими можно пренебречь, где-то нет.
Что в общем-то естественно. Нужно проверить входные параметры, прежде чем обрабатывать их по существу, т.е. выполнять «полезную реакцию» на них. Это относится ко всему, а не только к MVC.
По сути весь "мозг" это как раз таки и есть модель. Тогда у меня вопрос, еще возникает, для уточнения. К примеру веб страница, в тегах <head></head> есть такая разметка как OpenGraph так вот, напишу я класс, который будет реализовывать эту разметку и тут как бы возникает вопрос, где именно должен выполняться этот класс в модели или виде? В моем понимании это уже как бы не совсем логика, а так скажем "этикетка на банку" с яблочным пюре.
И то, и др. --- Добавлено --- Если уже достаточно набора данных, получаемых для вывода осн. содержимого, то изменять или добавлять еще одну модель не нужно.