On all medium to large projects we use PHP Smarty. Smarty is a template system. It allows a programmer to seperate PHP code from HTML. This is perfect if you want to make a design change but you do not know programming. Now, all you have to do is modify the template without risking breaking PHP code. In addition, if there are multiple people working on a project this is the perfect solution as the designer can work on what they do while the programmer works on the code.