mmmmmmm
te lo faccio (quasi) completo 
e lo commento ^^
codice:
<?php
// Definisco la posizione dei moduli
define('MODULE_PATH', './modules/');
.
.
.
// Verifica se è stato passato un modulo, se no ne
// imposta uno di default. Il tutto lo fa usando
// l'operatore ternario. Di default viene impostato
// il modulo HOME
$_GET['page'] = isset($_GET['page']) ? $_GET['page'] : 'home';
// Costruisce la path del modulo
$module_path = MODULE_PATH . 'module.' . $_GET['page'] . '.php';
// Verifica se il modulo esiste
if (!file_exists($module_path)) {
$content = "Il modulo {$_GET['page']} non esiste!";
} else {
require_once($module_path);
$content = module_main();
}
echo "...STAMPO A VIDEO L'HEADER... [quindi il titolo, i css, l'intestazione della pagina html e cosi via]";
echo $content;
echo "...STAMPO A VIDEO IL FOOTER...";
?>
questa di seguito è una struttura, SCARNA E BASILARE, di come realizzare una struttura modulare
se usi gli oggetti li devi passare a module main, se non ne fai uso allora niente
ricordati che stampa TUTTO la pagina principale quindi è importanto che non usi MAI echo, bensì usi una variabile chiamata, ad esempio, $content nel quale accodi i dati invece di usare echo 
in pratica invece di fare
echo "testo";
fai
$content .= "testo";
e dentro module main fai ritornare questo valore
per una struttura leggermente più avanzata, fai fare il controllo della posizione del file e fai ritornare un array con più valori...come ad esempio, oltre al contenuto, il nome del modulo ed il titolo del modulo...ad esempio (questo sempre dentro module_main)
return array('content' => $content, 'name' => 'utenti', 'title' => 'Gestione Utenti');
Personalmente preferisco usare gli oggetti ma comunque questa struttura è già abbastanza flessibile 
poi se vuoi un consiglio usa un template engine per gestire i vari contenuti...infatti potresti volere stampare dei blocchi con contenuto dinamico ed in quel caso potresti fare una struttura simile ai moduli...che non farà altro che ritornarti il contenuto ed il titolo del blocco che vai ad impaginare...solo che per la stampa diventa più problematico per questo ti consigliavo un templat eengine, anche basilare che fa uso di eval. C'è un articolo sull'argomento su freephp.html.it vai a dare un occhio 
sciauz