Para implementar una especie de PHPNuke vas a tener que moverte bastante, puedes buscar en google información sobre la arquitectura Model-View-Controller, pero creo que ya hay un par de frameworks como phrame.sf.net y phpMVC.net, a partir de los cuales podrás desarrollar tu aplicación basada en MVC. De esta manera te preocupas de mantener separados la Vista (tu theme) del Modelo (los datos de la base de datos que representan la petición http actual), que es bastante importante. El controlador sólo se dedica a generar nuevas vistas en función de la petición del usuario.
Pero ya te digo que con un resumen corto y rápido no vas a sacar nada en claro, la cosa es buscar y estudiar un poco.
Creo que en un hilo anterior se habló sobre esta arquitectura, en
www.sitepointforums.com hay información para aburrirse sobre todo eso, en java.sun.com están los blueprints originales sobre el MVC, pero no sé hasta qué punto te ayudarán o te liarán, todo depende de tu conociemiento de PHP, tu experiencia desarrollando apliaciones y tus conocemientos de programación orientada a objetos.
un saludo.