As we know, CMSs are highly complex structures.
Breaking a large problem into smaller problems is, I believe, fundamental to computing. Abstracting and encapsulating functionality allows information systems to evolve, building on what has already been established.
I therefore consider it sensible to isolate the front end from the back end. Applying the proposed PHP MVC pattern to an application with both a public website and an administration area for editing its information would otherwise create a problem.
Front-end and back-end controllers would be mixed together, as would their models and views. Shared models, for example, would share all their methods. A front-end request for a news view would therefore load not only the method that supplies that view’s data, but also methods for CRUD operations: creating, reading, updating and deleting records, or other operations specific to the back end.
That makes little sense. It would reduce website performance and make the code more confusing.
I will adapt the proposed MVC pattern separately for the back end and the front end. Two index.php files will therefore load two different applications.
