Although I don't do PHP MVC (since the concept *really* doesn't make a lot of sense for a template language), the last time I did so in java I designed a passive many to many MVC which I used crud for the dataaccess level. So I linked it in through the controller in order to initiate any commands required. The models are literally just the data keepers and haven't a clue about any other functionality (including the controllers). I wrote property changers and chained them to reflection so that when a command is issued on the controller it was responsible for telling the model to alter its values, and the models were given listeners to detect changes in their property states from the controllers.
This approach seemed brilliant when I wrote it; neither the view nor the model had any idea about a controller nor each other, but that sure did create a headache with the collection levels while still adhering to the overall concept of the MVC I wrote. What a mess, I can't even remember what I did to get around it; pretty sure I had to give on something.
Ultimately though, it doesn't really matter which it goes in. Just don't put it in the view.
header('HTTP/1.1 420 Enhance Your Calm');