Excelente que quieras hacer las cosas de la forma correcta.
No sabria darte una respuesta concreta pero lo que se me viene a la mente que leas sobre MVC, es el mejor camino (la estructura de directorios en realidad no tiene nada que ver). No tengo experiencia en frameworks PHP pero se que en Zend Framework puedes tener MVC de manera opcional.
Ruby On Rails (Ruby) y DJango (Python) funcionan de esta manera.
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador