I have used PHP to power web-sites with dynamic content now for many years and for all that time I have been dissatisfied with how difficult it has been to keep separate the concerns of how the sites look from how the sites work. I've seen people refer to this topic as "presentation logic" verses "business logic", but whatever it is called the problem, to me, always comes down to "how does it look" vs. "how does it work".