PHP template engine egyszerűen

Minden PHP fejlesztőnél eljön az idő, amikor érzi hogy szüksége lenne valami eszközre, mely egyszerűsíti az alkalmazások írását. Elkezd faragni. Kinő egy saját fejlesztésű template engine belőle. Aztán rájön, hogy mások már rég megoldották ezt a problémát és elkezdi használni a Smarty-t.

Rengeteg template engine létezik a PHP programozási nyelvhez. Ezek közül a leginkább ismert és talán a legjobban használható a Smarty. A Smarty oldalán található leírás miért is érdemes ezt a könyvtárat használni.
A legtöbb fejlesztő azzal kezdni, hogy elballag a Smarty oldalára és letölti az éppen aktuális kódot. Azonban érdemes az adott Linux disztró csomagkezelőjével ellenőrizni, hogy nem tartalmazza-e már eleve ezt a csomagot a rendszerünk. A Debian Etch és Lenny rendszerek például rendelkeznek ezekkel a csomagokkal.
Így egyetlen mozdulattal feltehetjük a Smarty-t a rendszerünkre:

root@mx1:~# apt-get install smarty
Csomaglisták olvasása... Kész
Függőségi fa építése... Kész
Az alábbi ÚJ csomagok lesznek telepítve:
smarty
0 frissített, 1 újonnan telepített, 0 eltávolítandó és 4 nem frissített.
Letöltés az archívumokból: 183kB
Kicsomagolás után 811kB lemezterületet használok fel
Letöltés:1 http://ftp.hu.debian.org etch/main smarty 2.6.14-1 [183kB]
Letöltve 183kB 0s alatt (1475kB/s)
Új csomag kiválasztása: smarty.
(Adatbázis olvasása ... Most 26836 fájl és könyvtár telepített.)
Kicsomagolás: smarty innen: .../smarty_2.6.14-1_all.deb ...
Beállítás: smarty (2.6.14-1) ...

Ezek után már csak egy dolog marad. A PHP számára láthatóvá tenni a Smarty-t. Ehhez a /etc/php5/apache2/php.ini fájl-t kell szerkeszteni:

; UNIX: "/path1:/path2"
include_path = ".:/usr/share/php/smarty/libs"

A Smarty dokumentációs oldalán lehet találni példákat, miként kell kialakítani a könyvtárszerkezetet és a jogosultságokat.
Érdemes a disztribúció csomagját használni, mivel egyrészt ez együtt frissül az operációs rendszerrel, valamint nem kell külön figyelni a Smarty biztonsági frissítéseket. Probléma esetén a legközelebbi apt-get upgrade megoldja.