Между MVC и "выдавать разные страницы не создавая файлов" огромная пропасть.
Генерация динамических страниц никак не связана напрямую с MVC, нет. Это вообще основы PHP.
Вы до MVC пока не ходите, вы хотя бы в процедурном стиле научитесь программировать.
Ну а вопрос ваш связан скорее именно с роутерами:
Допустим есть у вас скрипт index.php
который выдаёт разное содержимое в зависимости от параметра $_GET['page']
<?php
include 'config.php';
$db= new PDO($dsn,$user, $pass, $opt);
$result=$db->prepare("SELECT content FROM table_name WHERE url=:url");
$result->execute(array(":url" => $_GET['page']));
$page=$result->fetchAll(PDO::FETCH_ASSOC);
print $page[0]['content'];
?>
подключаетесь к базе данных и вытаскиваете из БД нужную вам статью/страницу.
вы можете попасть на разную страницу, обращаясь к одному и тому же скрипту -index.php, но с разным параметром GET:
site.ru/index.php?page=index
site.ru/index.php?page=contacts
site.ru/index.php
Но для того, чтобы превратить URL в нормальный вид, существует понятие ЧПУ - ЧеловекоПонятныйУрл.
Для этого создается файл .htaccess (если сервер apache2)
, и например с таким содержимым:
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?page=$1 [L]
Этот файл сообщает серверу, что при обращении к сайту
site.ru/contacts.html вас направит на index.php?page=contacts.
В итоге мы имеем единую точку входа на сайт - index.php, как вы и хотели.
Далее тут разжёвывать не имеет смысла - это тема не для тостера, это основы основ.
Гуглите:
ЧПУ.
И только после того, как научитесь работать с .htaccess и единой точкой входа, вы можете задуматься о роутерах, MVC и т.д.
Если вас