1.2.2. fejezet PHP sablon kezelő rendszerek

Ebben a jegyzetben két template kezelő osztályt nézünk meg, és hasonlítunk össze. Az egyik a FastTemplate, amivel pár éve találkoztam, és egy kis átalakítással PHP 4-ben jól használhatónak ismertem meg (ide kattintva letöltheted, ami használható PHP 5-ben is). Ennek az eljárása hasonló az XTemplate-hez, amit most nem tárgyalok (lásd még az ADOdb pilot projektet). A másik a Smarty, aminek sablonkezelése az előbbihez hasonlóan könnyen tanulható, alkalmazása egyszerű, de képes összetettebb objektum orientált megoldásokra is.

Sablonokat és az azokat feltöltő kódokat, sablonkezelő rendszereket a tartalom és a megjelenítés szétválasztása miatt alkalmaznak a weblap fejlesztők.

A class.FastTemplate.php egyszerű asszociatív tömbökből építkezik. Nincs felkészítve objektumok kezelésre sem a kód, sem a sablonok jelölésrendszere, viszont képes dinamikus listákat létrehozni asszociatív tömbökből, és egymásba ágyazhatók a sablonok, így összetett oldalak is könnyen építhetők.

A Smarty-val összetettebb megoldásokat készíthetünk. Van plug-in rendszere, saját funckiókat, módosítókat tudunk alkalmazni, a sablonok érkezhetnek adatbázisból is, saját cache funkciókat is írhatunk, itt is megvan az egymásba ágyazhatósága, és plussz if,foreach és section részeket is definiálhatunk a sablonokban.

Ez a kódrészlet a Smarty egyszerűségét mutatja be:


<?php
require(./libs/Smarty.class.php’);
$smarty=new smarty;
$smarty->debugging true;
$smarty->assign('title''Szia világ!');
$smarty->assign('body', array('top'=>'lap teteje'));
$smarty->display('temp1.tpl');
?>

Maga a temp1.tpl fájl tartalma a következő lehet pl.:

{include file="./themes/short/header.tpl"}
    {$title}
    {$body.top}
{include file="./themes/short/footer.tpl"}

Egy korábban fejlesztett CRM pilot programot átírtam Smarty alkalmazásával. Viszonylag gyorsan és könnyen készült el a módosítás a class.FastTemplate előzményből, és jó mintapélda a Smarty használatához. És mivel az ADOdb is egyszerűsíti a session kezelését, ezért az alkalmazás ezt a könyvtárat használja adatbázis eléréshez.

CsatolmányMéret
Csomag ikon class.FastTemplate.php_.zip4.17 KB