PHP for Absolute Beginners 2nd Edition
Chapter 6
Separating Concerns with MVC