и да, роутер по сути не должен знать об контроллерах, роутер должен знать реквест, ну а логика сопоставлений маршрутов к контолллерам уже определяется в приложении(bootstrap)
А вы точно файл php создавали? Скорее всего там либо просто текст, и может тег php отсутствует. Что в фс гляньте. Хотя наверное у вас расширения файлов спрятаны