Avatar billede palito Nybegynder
04. december 2006 - 18:07 Der er 3 kommentarer

Smide template ind i templatefil

Hvis jeg har et templatesystem som ligner dette:

**
function udskriv() {
ob_start();

include_once( $this->file );

$content = ob_get_contents();

ob_end_clean();

foreach($this->vars as $variable => $value) {
  $content = str_replace("\{{$variable}\}", $value, $content);
}

return $content;
}
**

Men hvis jeg nu har et grundlæggende templatesystem som ligner nedenstående der ligger i mappen: "/templates/standard/".

**
<html>
<head>
..
</head>
<body>
{content}
</body>
</html>
**

Men under "/templates/" vil jeg gerne have diverse templatefiler hvor indholdet skal smides ind i min grundlæggende templatefil og byttes ud med "{content}". Hvordan skal det så gøres?
Avatar billede palito Nybegynder
04. december 2006 - 18:18 #1
og er det smartest at have disse mange templatefiler i en tabel for sig selv i en mysql-database?

eller hvad?
Avatar billede olebole Juniormester
05. december 2006 - 11:00 #2
<ole>

Om det overhovedet er smart at bruge templates i et sprog som PHP, kan diskuteres - under alle omstændigheder er template-systemer ofte dårligt skrevet og voldsomme RAM- og CPU-tyve.

Specielt bør du så vidt muligt gå udenom output-buffering ('ob_start', 'ob_get_contents' og 'ob_end_clean') - da de nedsætter performance ganske dramatisk  =)

/mvh
</bole>
Avatar billede palito Nybegynder
05. december 2006 - 18:55 #3
Hvordan bør et godt templatesystem så fungere? Bare skriv det i tekst, så kan jeg selv fixe noget :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester