In this chapter, you learned about the model, view, controller design pattern and why it is an excellent methodology to follow on complex PHP projects.
As well as learning the theory behind MVC methodology, you were introduced to two very different ways in which that methodology can be followed. First, you met an MVC toolkit that allowed you to implement a request and constraint object hierarchy in your projects to greater enforce the separation between model, view, and controller.
Second, you were introduced to the concept of templating and how and why it proves to be an excellent example of best-practice MVC compliance.
Last, you met Smarty templates in some detail. You saw just how easily you can convert native PHP templates into Smarty templates in just a few minutes, as well as how some of the advanced features of Smarty mean it can be a valid templating choice for all but the most complex of projects.
In the next chapter, you'll look at the importance of communicating with your users and examine an object model to support such communication.