Я думаю, что это большое недоразумение - обсуждать это с точки зрения «один файл» против «несколько файлов».
Можно подумать, что поскольку точка входа находится в одном файле, то все, на чем мы должны сосредоточиться, - это код в этом одном файле - это неправильно.
У всех популярных фреймворков есть тонны файлов с кодом манипуляции ввода, кодом интерпретации и кодом проверки для запросов. Код не находится в одном месте, а распространяется в джунглях оператора require / include, вызывающего различные классы в зависимости от того, что запрашивается и как.
В обоих случаях запрос действительно обрабатывается разными файлами.
Почему тогда у меня должна быть одна точка входа с некоторой функцией _detect_uri (), которая должна вызывать несколько других функций, таких как strpos (), substr (), strncmp (), чтобы очистить, проверить и разделить запрос строка, когда я могу просто использовать несколько точек входа, удаляя этот код все вместе?
Взгляните на функцию CodeIgniters _detect_uri () в URI.php. Не выбирать на CodeIgniter, это всего лишь пример. Другие фреймворки делают то же самое.
Вы можете достичь целей шаблона MVC как с одной точкой входа, так и с несколькими точками входа.