Paracet Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Hallo. Når jeg koder php så liker jeg å kode slik jeg ville ha kodet html koden. dvs: print "<html>\n"; print "<header\n"; print "</header\n>"; print "</html\n>"; Det jeg lurer på er om det er mer eller mindre effektivt å skrive følgende print "<html>\n<header>\n</header>\n</html>"; Lenke til kommentar
Peter Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 echo '<html> <header> </header> </html> '; evt. echo '<html>'."\r\n".'<header>'."\r\n".'</header>'."\r\n".'</html>'."\r\n"; Aner ikke hva som er mest effektivt, men echo er mer effektivt enn print slik jeg har forstått det, i tillegg til å bruke apostrof(f?) istedet for anførselstegn der du ikke trenger "ekstra" parsing. Står litt om det her: http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 (echo vs. print) og her: http://no.php.net/manual/en/language.types.string.php (strings) Lenke til kommentar
Ernie Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Uten output buffer så er færrest mulig print/echo definitivt raskest. Grunnen til dette ligger i at det å sende data til bruker krever sitt. Med output buffer vil fortsatt færrest mulig print/echo være raskest, men forskjellen er ikke fult så mye. Kan nevnes at ob vanligvis gir en 10-15% økning i ytelsen primært pga. at man bare sender data til bruker en gang. Lenke til kommentar
Paracet Skrevet 19. mai 2006 Forfatter Del Skrevet 19. mai 2006 Etter litt testing med microtime(); så er det ikke tvil om at det er raskest å forholde seg til en string. Det er kanskje logisk ettersom det blir færre kall på en funksjon. Takk for hjelpen. Lenke til kommentar
CruellaDeVille Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Hallo. Når jeg koder php så liker jeg å kode slik jeg ville ha kodet html koden. dvs: print "<html>\n"; print "<header\n"; print "</header\n>"; print "</html\n>"; Det jeg lurer på er om det er mer eller mindre effektivt å skrive følgende print "<html>\n<header>\n</header>\n</html>"; 6132338[/snapback] Er vel kanskje ikke helt det du spør etter, men hva med å bruke heredoc? eks: <?php $title = "Fin side med heredoc"; print <<<HTML <html> <head> <title>$title</title> </head> <body> innhold </body> </html> HTML; ?> Da slipper du å skrive \n for linjeskift og \t for tabulatorinnrykk. Utover dette har jeg hørt at det er marginale forskjeller på print vs echo, så jeg tror neppe du merker forskjell. Lenke til kommentar
endrebjo Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 Jeg synes det blir best å skrive masse HTML-kode på denne måten. <?php header(masse tull); $title = masse tull; ?> <html> <head> <title><?php echo $title; ?></title> </head> <body> <?php if (bla bla) { ?> <p>bla bla bla bla <p>bla bla bla bla <p>bla bla bla bla <p>bla bla bla bla <p>bla bla bla bla <p>bla bla bla bla <?php } else { ?> <li>bla bla bla bla <li>bla bla bla bla <li>bla bla bla bla <li>bla bla bla bla <li>bla bla bla bla <?php } ?> </body> </html> Lenke til kommentar
groenlid Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 (endret) er smak og behag tror jeg... jeg liker btw å skrive det slik <?phpecho "<html>\n". "<header\n". "</header\n>". "</html\n>"; Endret 19. mai 2006 av groenlid Lenke til kommentar
endrebjo Skrevet 19. mai 2006 Del Skrevet 19. mai 2006 (endret) er smak og behag tror jeg... jeg liker btw å skrive det slik <?php echo "<html>\n". "<header\n". "</header\n>". "</html\n>"; 6134086[/snapback] Hvorfor ikke bare droppe punktum og newline og skrive det som: <?php echo "<html> <header> </header> </html>\n"; Det blir jo fryktelig mye enklere og lettere å skrive, og gir samme output. Endret 19. mai 2006 av endrebjorsvik Lenke til kommentar
Nervetattoo Skrevet 22. mai 2006 Del Skrevet 22. mai 2006 Bruk heredoc-stil, da kan du også bruke variabler i html-en enkelt. Echo vil være marginalt raskere enn print siden print returnerer en verdi, men dette er helt umerkbart. Jeg anbefaler echo siden det er det mest utbredte innen php. // Logikk $title = 'Page title'; $username = getUsername(); $date = date('Y-m-d'); // Presentasjon echo <<<HTML <html> <head> <title>$title</title> </head> <body> <h1>Vellkommen $username</h1> <p>Dato er $date</p> </body> </html> HTML; Behøver du å loope så genererer du html f.eks gjennom en funksjon når du looper med heredoc der og. Skriver du noe av mer applikasjonsart enn skriptart så vil jeg anbefale å bruke templating eller en kodegenerator. Kanskje DOM XML pluss XSLT kan være en ide... Lenke til kommentar
genstian Skrevet 22. mai 2006 Del Skrevet 22. mai 2006 Det raskeste er: $html = '<h1>Title</h1><br />'; $html .= '<b>Mer text</b><br />' // Bla bla bla bla bla bla $html .= '<h6>Det lille extra</h6>'; echo $html; eller ob_start(); echo '1'; echo '2'; echo '3'; ob_end_flush(); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå