Nu ben ik dus in de war. Na een en ander gelezen te hebben over template engines, heb ik ervoor gekozen om PHP hiervoor te gebruiken, temeer omdat de templating functies die ik nodig heb heel eenvoudig zijn. Pseudo heb ik nu dit:
Maar in plaats van het verwachte resultaat, wordt er helemaal niets weer gegeven in de browser. Als ik view-source, zie ik template.tpl zoals deze op de server staat:
Met andere woorden; in tegenstelling tot wat ik verwachtte, worden de variabelen in template.tpl niet automagisch vervangen door de values uit de $tpl_vars array.
Wat doe ik verkeerd? En ben ik ueberhaupt wel goed bezig om op deze manier PHP als template engine te gebruiken?
De [code]-tag kan ook talen bevatten zoals HTML, JS, CSS, etc.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <?php // een hele hoop code... // ...vult uiteindelijk de template variabelen $tpl_vars = array( 'foo' => 'dikke foo!', 'bar' => 'bar hier' ); // theme_print haalt de template op... function theme_print() { return file_fetch(BASE_PATH .'includes/template.tpl'); } /* template.tpl is gewoon een PHP bestand: <html> <b><?php $tpl_vars['foo']; ?></b><br><u><?php $tpl_vars['bar']; ?></u> </html> */ // nu had ik gedacht, dat door theme_print() aan te roepen, er output zou komen: echo theme_print(); /* ...zou opleveren: <html> <b>dikke foo!</b><br><u>bar hier</u> </html> */ |
Maar in plaats van het verwachte resultaat, wordt er helemaal niets weer gegeven in de browser. Als ik view-source, zie ik template.tpl zoals deze op de server staat:
HTML:
1
2
3
| <html> <b><?php $tpl_vars['foo']; ?></b><br><u><?php $tpl_vars['bar']; ?></u> </html> |
Met andere woorden; in tegenstelling tot wat ik verwachtte, worden de variabelen in template.tpl niet automagisch vervangen door de values uit de $tpl_vars array.
Wat doe ik verkeerd? En ben ik ueberhaupt wel goed bezig om op deze manier PHP als template engine te gebruiken?
De [code]-tag kan ook talen bevatten zoals HTML, JS, CSS, etc.
[ Voor 2% gewijzigd door BtM909 op 10-02-2011 12:16 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."