Runar Skrevet 15. september 2007 Skrevet 15. september 2007 God kveld! Jeg har nå vurdert å bruke templates (mest for å utvide mine kunnskaper) og snakket med en fyr jeg kjenner som kan mye PHP. Jeg sa hva jeg ville og hvordan jeg hadde tenkt å gjøre det, men han sa jeg heller burde ta en titt på og bruke ferdige script som TemplatePower. Dette er visstnok lettest og enklest. Jeg tenkte å gjøre det på følgende måte (merk: kun et enkelt eksempel skrevet nå), så jeg får vel be om litt kritikk nå som jeg først har deres oppmerksomhet: main.tpl: Klikk for å se/fjerne innholdet nedenfor PHP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> %_header_% </head> <body> <div id="frame"> %_content_% </div> </body> </html> index.php: Klikk for å se/fjerne innholdet nedenfor PHP <?phprequire( "inc/header.php" ); ?> <h1>Tittel</h1> <p>Lorem ipsum dolor sit amet.</p> <?php require( "inc/footer.php" ); ?> inc/header.php: Klikk for å se/fjerne innholdet nedenfor PHP <?php$tpl = file_get_contents( "template/main.tpl" ); ob_start(); ?> <link rel="stylesheet" href="/css/screen.css" />< <title>Eksempel</title> <?php $tpl_trim = trim( ob_get_contents() ); $tpl_main = str_replace( "%_header_%", $tpl_trim, $tpl ); ob_end_clean(); ob_start(); ?> inc/footer.php: Klikk for å se/fjerne innholdet nedenfor PHP <?php $tpl_trim = trim( ob_get_contents() ); $tpl_main = str_replace( "%_content_%", $tpl_trim, $tpl ); ob_end_clean(); exit( $tpl_main ); ?> Er dette feil/en elendig måte å gjøre det på? Hvis ja, hvordan bør jeg gjøre det? Eller bør jeg bruke ferdige script i stedet for å skrive selv? Det har vel egentlig ikke så mye å si, men jeg må innrømme det føles bedre å bruke noe du har skrevet selv og ikke lastet ned, uansett om det er gratis eller ikke.
itsmebth Skrevet 16. september 2007 Skrevet 16. september 2007 For å si det sånn: PHP er den beste template-motoren til PHP. Er PHP <table> <?php foreach($foo as $item): ?> <tr> <td><?php echo $item ?></td> </tr> <?php endforeach; ?> </table> så my verre enn PHP <table> {foreach @foo @item} <tr> <td>{=@item}</td> </tr> {endforeach} </table> ?
Runar Skrevet 16. september 2007 Forfatter Skrevet 16. september 2007 Nå kan jeg ikke helt si at jeg skjønner hva du vil med posten din. Leste du i det hele tatt det jeg skrev, og så du på eksemplene mine? Da hadde du vel skjønt at den kodebiten du postet ikke er det jeg vil oppnå?
ilpostino Skrevet 16. september 2007 Skrevet 16. september 2007 jeg gjør det op samme måte som deg og jeg tror det er den mest vanlige måten å gjøre det på.
itsmebth Skrevet 16. september 2007 Skrevet 16. september 2007 Det jeg mente, er at istedenfor å bruke/lage en avansert template-motor, så bør man (etter min mening) bruke PHP. For eksempel: PHP <?phpclass PHPTemplate{ private $tpl; private $data; public function __construct($template){ $this->tpl = $template; } public function SetData($arr){ $this->data = $arr; } public function AddData($name, $value){ $this->data[$name] = $value; } public function Show(){ extract($this->data); // Omtrent eneste "lovlige" bruk av extract include($this->tpl); } }
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å