I\'m looking for advice on the best practice for separating site content up into logical blocks. I want a header and footer that are constant throughout the site, so that if
Nope, your approach is wrong.
Here are main faults in your design:
The main rule everyone have to learn by heart:
Not a single character has to be sent into browser, until all data gets ready.
Why?
HTTP header. Sometimes we have to send them. And it's gets impossible if you already have your ornate HTML header sent. tag for your pages, based on the page content. Isn't it extremely common thing? But you can't make it without using templates. So, you have to have one common site template containing header and footer and also dedicated templates for the every php script.
An example layout is going to be like this:
.1. page itself.
it outputs nothing but only gather required data and calls a template:
.2. template.php which is your main site template,
consists of your header and footer:
My site. =$pagetitle?>
.3. and finally links.tpl.php is the actual page template:
=$pagetitle?>
easy, clean and maintainable.