What is a Design Pattern
A Design Pattern is a template, structure or framework on which you can build your application code. When the term Framework is used with regard to PHP, most individuals straight away consider MVC, and indeed, MVC is just one of many design patterns.
Model View Controller (MVC)
Many people are using Frameworks that implement MVC or an MVC variation.
The MVC design pattern is based on the principle of separating business logic (Model) and presentation logic (View). The idea that changes to the view, or presentation layer, should not interfere with the Model. Also, that changes to the Model, or changes to the data, should not interfere with the presentation (View).
By introducing a third party intermediatory object (Controller), the Model and View can be independent of each other. The Controller handles input from the user interface (View) and passes this information to the Model. If the Model needs to respond, the Controller takes this response and supplies it to the View.
This separation of business logic and presentation logic gives application developers wider flexibility and promotes code reuse.
More details http://www.phpro.org/tutorials/Model-View-Controller-MVC.html