Io penso che con il Php questa discussione non c'entri niente...

Se conosci html e css prima pensa a creare il template, dopo, a seconda delle tue esigenze, tramite php decidi come organizzare il sito, cosa "stampare", etc.

Mi spiego.

Se crei l'header.php e vuoi includerlo in un ipotetico index.php devi strutturarlo in modo tale che lo script header.php stampi... l'header...

header.php:

$header .=<<<EOF
<html><head>etc</head>
<body>
<div id="xxx"> testo testo testo </div>
EOF;

echo $header;

Facendo include('header.php') verrà eseguito quello script (che nel mio esempio ti stampa $header).