Besides MVC model-view-controller actually there are more components which built up a complete PHP framework. Let's sum it all:
- Model is a database representation dealing with tables and other database objects.
- View is a visual representation dealing with HTML layouts, CSS, JavaScript, form, buttons, lash messages, etc. This layer also can be extended using tempelate engine/language such as Volt.
- Controller is responsible for joining model and view together with certain rules and logic.
- Router and dispatcher is a part of controller which deals with application flow, from one page/process to another.
- Events Manager is a part of controller which deals with assigning an application event to a specific response.
- ACL (access control lists) is a part of controller which deals with roles and privileges; who can do what.