Re: Couple of beginner questions
| From: | John Corry | Date: | Mon, 12 Jan 2009 05:04:15 +0000 |
| Subject: | Re: Couple of beginner questions | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-286062@lists.php.net to get a copy of this message | ||
One of the best things that ever happened to me (with regards to
writing PHP) was deciding not to embed it in HTML anymore.
I either:
a) generate the HTML from classes I've built (HTML, Forms, Tables,
Images, etc) or use an equivalent PEAR class
- or -
b) Use Smarty templates...in which I still generate the HTML that will
go to the template (where required) with the HTML generation classes.
The advantages are abundant.
I can't imagine having to maintain some of the code I saw in the
examples above. My favorite WTF was with this snippet:
$imgHTML = '<img src="' . $url . '" alt="' . $alt .
'" title="' . $alt
. '" class="' . $imgclass . '" />';
Holy crap...REALLY!?
All that string concatenation and there's not even width/height
attributes in there!
That would look like:
$i = new Image('path/to/image/file');
$i->__set(array('class'=>$imgClass, 'alt' => $altText));
$i->toHtml();
Being able to change every image tag in a site by editing the
class/method that created is just too big an advantage not to use. Not
to mention the auto-generated width/height attributes, the ability to
auto-produce thumbnails and fullsize images from a single file...
After struggling through the beginnings, I wrote classes to generate
basic HTML elements, then tables, then forms, then images.
It saved me a bunch of time and taught me to see the website as an
application...not as a web-page with pieces of data in it.
Somehow, coming to that bit of knowledge was very helpful to my life
as a programmer.
Good luck,
John Corry