Re: smarty

From: Date: Wed, 14 Apr 2004 15:45:57 +0000
Subject: Re: smarty
References: 1 2 3 4 5 6  Groups: php.general 
Request: Send a blank email to php-general+get-183334@lists.php.net to get a copy of this message
Richard Davey said: > CdV> I don't understand... how is this: > [snip] > CdV> Better than this? > CdV> ================= > CdV> $result = mysql_query ("SELECT * FROM users WHERE id = > '".$_GET["id"]."'); > CdV> $row_array = mysql_fetch_array ($result); > CdV> $name = $row_array["name"]; > CdV> $address = $row_array["address"]; > CdV> $state = $row_array["state"]; > CdV> $include("template.tpl"); > CdV> --- > CdV> <html> > CdV> <body> > CdV> Name: <?=$name;?><br> > CdV> Address: <?=$address;?><br> > CdV> State: <?=$state;?><br> > CdV> ... > CdV> ======================= > > Because you're injecting variables directly into your HTML, which some > of the time might be ok - but what if the $row_array doesn't contain > "name" ? You'll raise an Error Warning without first passing it > through some kind of test (or function). A good point. Alternatively I could write error handling myself or include a library/class. This is where, in my opinion, Smarty shines, but is not significantly different than other libraries/classes. > You assume that the PHP short-tags are enabled (<? ?>) for > echoing variables and while most the time they are, you shouldn't bank > on it in code (incidentally, you don't need the trailing ; on the > short-tag echos). I was waiting for someone to ding this :-) I have been used to using <?php echo $variable; ?>. > Sure - these things can be fixed easily, but then that isn't the point > - if you think about it logically, anything Smarty can do, PHP can do > too (well, duh! :) > > But what if you want to take your template and perform a bit more than > just mere variable substitution on it? How about highlighting all > words that match a search term, or applying logic to a display block > based on a user status? Another good point. But by writing it myself or including some other library/class I could have the same functionality. There again, Smarty is a great library, and I'll use it when I need it. > Personally I don't use smarty*, but even I can see the benefits it > offers. Me too. It's likely I'll use it in the future. /dev/idal

« previous php.general (#183334) next »