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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php