On phpPatterns, Harry Fuecks wrote a nice article (with interesting comments contributed by other developers) discussing what we PHP developers all have to decide on: What's our website "architecture"? His conclusion:
"The solution is very simple - have your Page Controller load the Intercepting filter and forget about Front Controllers, which are already being taken care of by Apache and the PHP Engine.
Practically there are a number of approaches (that I can think of). The simplest is procedural - simply include a "before" and "after" script in every Page Controller, which executes the filters."