About designers who don't know PHP.
There are two kinds 1). They draw only. They usualy don't know even HTML - they just draw. 2). They know HTML and make templates. usualy these people have to know HTML and CSS very well. And I can't imagine how they can do that without knowing at least Smarty tags (if they work with it). My idea is basicly that for them there is no difference if there if <?=$variable?> or {$variable} They just have to know that such constructions displays some data. So I and my colegaues stick to HTML with PHP injections in templates (i worked with smarty once's, have to say comparing to PHP it was realy a mess. And at least with PHP I have code highlight).