Вы можете использовать MVC в основном независимо от фреймворка. Если у вас есть отдельный код для манипулирования данными, отдельный код для функций представления и отдельный код с использованием первых двух - у вас есть MVC.
Я реализую это следующим образом: иметь объекты данных, поддерживающие CRUD и другие операции, иметь объекты представления, принимающие объекты данных в качестве входных данных, иметь код REST / AJAX для обработки запросов. Он может поддерживаться фреймворком, но фреймворки не должны заставлять вас использовать его. Вероятно, у фреймворка нет способа предотвратить смешивание разных задач в одном классе или файле.
Для AJAX MVC кажется наиболее естественным. Имеет смысл создать презентацию в JavaScript, извлекая данные с помощью отдельного модуля PHP. Все, что находится между данными и презентацией, является контроллером.