MVC приложение — это не все приложение целиком в рамках одной парадигмы.
Это архитектурный подход разделить ответственности типовые — пришел запрос, ушел ответ и вся каша между ними хорошо укладывается в этот паттерн.
НО! До прихода запроса заводится это самое приложение, тянутся конфиги и принимаются решения о том, какой контроллер то нужно подтянуть. Вот этим фронт-контроллер и занимается.
Схема оочень примитивная и не корректная, тк лучшее ее отображать кругом и слоями, Но вам для понимания сейчас норм :)
К тому же роль фронт-контроллера размазана в современных приложениях. Это отчасти и Nginx принимающий на 1 точку входа приложения, и роутер — который содержит зарегистрированные роутеры и их хэндлеры и умеющий определить, на какой роутер отправить запрос.
wideShift, тут вопрос понятий/терминов.
Фронт-контроллер — то, что выбирает контроллер и для внешнего клиента представляется единственным входом.
Если нет контроллеров и есть одна точка входа, то как бы да, но тогда именовать его так не имеет смысла :) какой он будет "front", если back позади не существует?
Любой одиночный и законченный роман конечно можно назвать первой частью, а смысл?
Максим Федоров, получается паттерн front controller самостоятельно не используется, а создавался как дополнение к чему либо? Этот паттерн создавался для веба или раньше был?
wideShift, я не знаю, фронт-контроллер — единая точка входа, зачем мне ОБИХОДНЫЙ термин изучать на предмет того, кто и под какую платформу его придумал?
Ну судя по прочитанному, это контроллер, отвечающий за одну страницу.
/about -- за него отвечает Page Controller
/product/{productName} -- видимо за такой роут отвечает уже не Page Controller, а просто контроллер, хоть и сложнее :):):) тк тут товар разный
Этим термином не пользовался никогда, тк не имеет смысла :)
wideShift, Максим вас дезинформировал о сущности контроллера страниц.
В контроллере страниц по запросу /something.php веб-сервер вызывает something.php, а в нём сначала вызывается, например, require core.php в котором происходит инициализация компонент, а потом идёт обработка запроса. Один из ярких представителей этого подхода - phpBB.
Из минусов - очень сложно использовать человекопонятные ссылки. Сейчас почти не используется.
Ни контроллер страниц, ни контроллер запросов не требуют использовать MVC.