Mira, si entendi bien tu mensaje, la idea base es "Plantillas"
Ejemplo:
Creas una plantilla base en HTML, luego de tener decidido donde va el Menu de opciones o enlaces, el contenido y el pie de página (el footer que mencionas)...
En mi caso yo lo que hago es que al finalizar la plantilla HTML, donde quiero que vayan cada seccion de las anteriores, le coloco algo asi como: {menu} , {contenido}, {pie} entre otros.
Cuando ejecuto un archivo .php, hago que por medio de funciones de cadena, se sustituya la palabra {menu} por algo que yo quiera, entonces, mantengo la misma estructura, pero los contenidos son distintos, es algo igual que esto.
Haz una plantilla HTML simple (te recomiendo grabarla como template o sea con extensión .tpl), y luego agrega el siguiente código en un archivo .php aparte.
Inicio del archivo PHP:
Código PHP:
$plantilla=implode("\r\n",file("carpeta/plantilla.tpl"));
Preparando la sustitucion: (esto puede ir en cualquier parte del archivo php, siempre y cuando ya hayas puesto el codigo que te di antes).
Código PHP:
$trad["{menu}"].= "<h1>Bienvenidos</h1>";
No olvides poner esto al final del archivo php:
Código PHP:
$pantalla=strtr($plantilla,$trad);
echo $pantalla;
Bueno, me despido, espero haberte podido ayudar, no soy bueno para explicar, asi que espero no haberte hecho "bolas" (confundido).