The Full answer:
You can have both a MVC front end, and a MVC back end. You can also have an MVC front, and no frame-worked back, AND vice-versa. You dont always need a framework, but its usually a good idea. The trick is to find the framework your looking for.
If you want to have a cool ALL JS (no PHP) app, you can use something like Deployd as your back end api / mongodb, and integrate angular in the style of MVC. If you want to MVC'itize the back-end framework of this type of JS app you can do something like this https://hackhands.com/mongodb-crud-mvc-way-with-passport-authentication/ (look down to the Express.js app/views
part).
I would recommend Express.js as your back end framework, and implement MVC style using a tut like this http://briantford.com/blog/angular-express. Then the all the scripting ties into the MVC folders for the front end, which uses this express.js server. Your views to a views
folder, controller(routes) to a controller
folder, and all your scripts that make up the CRUD or back end API, which communicate with your mongodb to pull data in a model
folder. This is very easily scaled up. If you needed Angular in this setup, you would want to follow tutorials on how to implement angular into express .
If you want to go PHP back end with either a templated php front end, or an angular MVC front end you can use something like the Symfony2 framework, which is ALMIGHTY, and super powerful very well documented, and a no-brainer. Then when you make your templates(views) using Twig(symfonys default template engine), you can either code your html there, and call your php variables on that page, or you can change it up like i mentioned using angular then just call and call it just like this on your view
{% verbatim %}
{ { variabileAngularjs } }
{% endverbatim %}
And, if what you originally asked, using single PHP files on the backend, that sounds like what you call "Procedural" coding, you can do it Object oriented too, but not sure the way you were thinking, if you go Object oriented, then its very easy just to put the models in a model folder, and a controller in a controller folder, and then its called mvc, but if you put all your functionality inside teh same PHP Method, like validating a post, goign to the db, parsing data from db, and then sending that inside an http response forward to the view sounds like a bad use of web development technologies, because it caused serious dependency issues, because you wouldn't be observing "decoupling" very well if you did this. To decouple it, you remove the method that does the db call, and return it, then you have another method, that might as well be on another file, in a controller folder, which calls this method, and returns is via http, e.g. an http response, your view can call this controller action, provoking the response. This is the way MVC wants to do it.
i know this is an older question, but it gave me the answer i needed, but i felt obligated to do a good writeup on this, since it didn't have much info on it to help support this question.