Some fellow posted a commerical notice to the comp.lang.php newsgroup. For a mere $79 per developer, you can get a PHP framework that does all the same stuff as the free, open-source PHP frameworks.
And it has all the same problems, too.
In a previous post I was ranting about generating HTML from the PHP code. When you generate HTML and CSS from inside the PHP code, then programmers end up working on problems that designers could solve much faster. Consider this problem, which the PHP Developers Kit offers as an example of all the wonderful things you can do if you use their framework:
The workhorse of PHP Kit is the container class . It is a box containing other objects, like text, links, paragraphs and even other containers. It is under CSS control so you may create a container using several dozen options, like background color, border style, border color, font size and font color.
Note: the containers above displayed correctly in Microsoft IE when displayed inline (left to right). However, Mozilla Firefox version 1.5.0.4 displayed them left to right but with no width or height except for the width of their borders. When displayed as block (one above the other), Mozilla displayed their size correctly. The display property (inline or block) is not suppose to effect an element’s assigned width and height.
So, um, you really should be able to control these containers from your code, but when you run into a problem with different browsers interpreting your CSS differently, you’re stuck solving it. All CSS issues should be the domain of your designers, not your programmers, but when all the CSS is controlled by PHP code, then solving this problem is shifted from the designers to the programmers. This leads to workflow problems - in too many web design shops the programmers have too much work and the designers too little, and frameworks such as this are to blame. Frameworks like this shift work from designers to programmers. That’s bad economics.
(Again, frameworks like this are fine for the individual freelancer who does all the programming and all the design work themselves. But these frameworks would be economically harmful to web design firms that work on large sites and need programmers and designers to work together.)
If the html is simple divs etc., you could just define your css after the code/PHP has generated it; just override the previously declared styles.
While I generally agree on your view of no html in your php, I think there are exceptions. It’s really about choosing what for when and where. For example, form elements being generated by code is acceptable to me. Even as a designer, I would think that looking at a page with a few php/template tags would be better than a page with lots of html; it’s still code. Less control, but as long as the code is doing what you want then there is no worry. And you could always either override/extend the classes generating the code or hack it.