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ány | Méret |
---|---|
class.FastTemplate.php_.zip | 4.17 KB |
- A hozzászóláshoz be kell jelentkezni