[eluser]Pygon[/eluser]
As a matter of opinion, relying on the PHP shutdown sequence to introduce your footer into the page is a bad idea. Also, again as a matter of opinion, you should really be relying on your view to handle view related material.
In practice -- you can do this, however realize that should you redirect a request to a seperate controller, you've now processed __construct twice (two headers) and registered two shutdown functions (__destruct).
Personally, I would either:
1) Move Header/Footer to the view structure.
2) Handle them as usual in a procedural fashion once you've determined what will be displayed.
You can do it however you wish though.