"Peter Brodersen" <usenet@ter.dk> wrote in message
news:3oXO8.57935$N46.1854810@news010.worldonline.dk...
> On Sat, 15 Jun 2002 23:53:30 +0200, "Per Thomsen" <pert@pert.dk>
> wrote:
[snip]
> Jeg vil absolut ikke betragte printf som en uvane. Det kan i mange
> tilfælde let komme til at gøre koden mere overskuelig, fordi den er
> pænere op delt. I dit tilfælde kunne man let komme ud i fx at skulle
> smide htmlspecialchars på teksten og deslige, hvortil man når frem
> til:
>
> echo '<a
> href="'.$row['link'].'">'.htmlspecialchars($row['tekst']).'</a><br>';
Det ville jeg så nok gøre inden, jeg echo'er.
$link = $row['link'];
$tekst = htmlspecialchars($row['tekst']);
echo '<a href="'.$link.'">'.$tekst.'</a><br/>';
[snip]
>
> echo '<h3><a href="'.$row['link'].'"
>
title="'.htmlspecialchars($row['title']).'">'.htmlspecialchars($row['tekst']
).'</a></h3><p>'.nl2br(htmlspecialchars($row['body'])).'</p>';
>
> Her kan det være mere overskueligt med:
>
> printf(
> '<h3><a href="%s" title="%s">%s</a></h3><p>%s</p>',
> $row['link'],
> htmlspecialchars($row['title']),
> htmlspecialchars($row['tekst']),
> nl2br(htmlspecialchars($row['body']))
> );
>
> Kig på første argument; "HTML-delen":
>
> <h3><a href="%s" title="%s">%s</a></h3><p>%s</p>
>
> Jeg synes at den giver et umådeligt hurtigere overblik, specielt i
> betragtning af hvor meget, vi ellers blander " og ' i samme linje.
Det med at jeg konkatenerer strengene på er mest fordi
UltraEdit (som jeg bruger), ikke kan finde ud af at highlighte
variable i en streng, og så fordi jeg helst selv vil fortælle
PHP hvornår en streng skal parses, men mit bedste argument
for det er: "Sådan kan jeg bedst lide det". :)
> Ydermere er det let at flytte rundt på dele af HTML'en.
Det må jo så nok være subjektivt, jeg kan ikke lige indse at det
skulle være nemmere at flytte rundt på HTML'en fordi der står
%s istedet for $link.
Det er jo self. med det forbehold at indholdet i $link, og $tekst
er færdigbehandlet og klar til output (strip_slashes, nl2br,
htmlspecialchars, og hvad der nu eller skal til). Du har ihvertfald
ret i at det vil gøre det mindre gennemskueligt at gøre det inline.
Og hvis du tænker på det med at jeg konkatenerer strengene,
så syntes jeg at det i UltraEdit faktisk netop gør det nemmere
at flytte rundt på HTML'en fordi man ved at alt det grå tekst
er HTML. Men bruger man en editor der godt kan finde ud af
at highlighte variable i en streng, så ser jeg ikke den store grund til
ikke at skrive det som:
echo "<a href=\"$link\">$tekst</a><br>";
(udover at jeg personligt ikke kan lide det).
>
> >
http://www.zend.com/zend/art/mistake.php#Heading4
>
> Deres eksempler er nær plaintext, hvor jeg da også vil give dem ret.
Ja, men pointen er (som jeg læser det) at der ikke er nogen grund
til at bruge "the schwiss army knife" til skrælle kartofler med, hvis
man har en kartoffel-skræller ;)
> Men blandes der blot lidt HTML ind over det, begår de netop en fejl
> ved at blande PHP og HTML sammen i én stor pærevælling. Noget, der
> utvivlsomt et par måneder senere alligevel kræver omskrivning af
> koden, når man igen når til konklusionen at der er fordele i at opdele
> kode og content.
Der er vi fuldstændige enige. Kommer der ret meget mere HTML på
end i eksemplet, så ville jeg anvende et template system.
MVH Per Thomsen,
http://www.pert.dk/