[eluser]Chillahan[/eluser]
Just wanted to add my two cents - I find it more useful to think of having a master template into which you are "injecting" various levels of sub-templates (like Eric mentioned).
So generally you'll only have to use one master template, which will handle the outer HTML doc definition, opening closing tags, and per-page Javascript loading as needed:
template_view.php
Then for each controller, just output the inner part to a variable and pass it to the template view generation. And the inner parts can use additional inner templates as needed - for example, you might have:
header_view.php
But inside that, you might have:
logged_in_header_view.php
logged_out_header_view.php
Additionally, in your main content, you might on some pages have:
full_width_view.php
And on others:
one_third_split_view.php
It's because of this cascading effect that I think the "injection" method is more maintainable, easier to visualize, and ultimately more useful. Splitting a page at the top level into header, sub-header, body, footer all the time can be limiting, not to mention more confusing for a separate designer to use (and to re-integrate design changes).