The problem
There are fundamental design issues within software as regards the separation of presentation code from the problem domain. The MVC pattern is the most widely known approach to this. Even with that in mind, plenty of alternatives remain for the delivery of XHTML in a PHP5 environment. One specific approach that has been popular is the use of some kind of templating engine. Another traditional approach to the generation of a user interface is the building of so-called widgets. Perhaps going slightly beyond widgets, page control and navigation is an issue that arises repeatedly, as is the widely used "breadcrumb trail". WYSIWYG editing is something that many users will expect, not withstanding the serious problems of delivery when XHTML is the means of expression. In some respects, the issues are different for the administrator interface from the more general user services. We will consider:
General approaches to handling XHTML
Templates and their equivalents
Widgets that help to...