PHP template-motorer

Skriver man större system i PHP kommer man snabbt fram till att det kan bli ganska rörigt att mixa PHP styrkod och HTML presentationskod. Ofta gör man försök att separera koden, kanske endast göra funktionsanropp med PHP i HTML koden av för ”importera” specifika delar av koden. Det kan dock snabbt bli en ovana att falla in i att skriva styrkoden mixat med presentationskoden vilket lika snabbt straffar sig i större projekt. För att råda bot på detta har ett antal template motorer utvecklats till PHP. Exempel på detta är Smarty, PATTemplate och Savant3. Det systemen har gemensamt är att man skriver en fil, t. ex. index.php i vilken styrkoden för startsidan finns; och i en separat fil, ofta med filändelsen php.tpl eller dylikt finns presentationskoden.

Smarty använder ett eget markeringssystem, som i sin enklaste form kan se ut så här:

index.php

$smarty->assign ('header', 'Rubrik');

index.php.tpl

<h1>{header}</h1>

Eller med en loop:

index.php

$smarty->assign ('rows', array ('1', '2', '3', '4'));

index.php.tpl

{section row=i loop=$rows}
<tr><td>{row}</tr></td>
{/section}

PATTemplate använder XML för sina mallar:

index.php

$tmpl->addVar ('Main', 'HEADER', 'Rubrik');

index.php.tpl

<patTemplate:tmpl name="Index">
<h1>{HEADER}</h1>
</patTemplate:tmpl>

Savant3 skiljer sig från de övriga i att det använder PHP i template:

index.php

$tmpl->header = 'Rubrik';

index.php.tpl

<h1><?php echo $this->eprint ($this->header); ?>

Den sista varianten är i vissa avseenden lite omständligare och är kanske den som mest frestar programmeraren att falla in i att skriva styrkod mixat med presentationskod. Den stora fördelen är dock att programmeraren inte behöver lära sig ett nytt språk för att skriva templates.

Detta inlägg är publicerat i Blogg och har etiketter , , , , , . Bokmärk detta inlägg.

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Sökmotoroptimering

Marknadsföring som fungerar! Sökmotoroptimering som möter era behov och krav!

Sökmotormarknadsföring

Annonsera på sökmotorerna! Syns när någon söker efter era produkter eller tjänster!

Website

Sökmotoroptimerad Webbdesign som lönar sig för er verksamhet!