Smarty sablonkezelő rendszer – II.

Miért is jó nekünk egy ilyen?

– függetlenné teheti a php kódot a megjelenítéstől márpedig ez jó dolog (Good Thing T) (ez pedig általában egyébként is külön feladat külön embert jelent, képesek leszünk többrétegű alkalmazások készítésére (lásd Invison Power Board és társai), megértjük ezek működését,)
– tisztább és logikusabb programot tudunk írni
– biztonságosabb kód (a grafikus kolléga nem fér hozzá az általunk készített remekműhöz)
– képesek leszünk felületcserés alkalmazás fejlesztésére (szabványos módszerekkel)

De mire is képesek az ilyen sablonrendszerek:

  • alapvető változó behelyetítésre, egyszerű tagek
  • dinamikus blokk funkciók (alapvető ciklusok)
  • minden oldal letöltésekor megtörténik a sablon értelemezése
  • sebesség növelése (kész feltöltött sablon tárolása)

Mi a Smarty-val fogunk ügykezelni mivel:

  • php nyelven írodott (nem kell új ismeret a kezdéshez :))
  • nincs felesleges sablon értelmezés ( 1-szer fordít)
  • saját funckiókat, módosítókat tudunk alkalmazni
  • szekciók alkalmazása (és egymásba ágyazhatósága if,foreach,section)
  • a tag elválastók definiálhatók ( {} stb.)
  • cache rendszerrel is el van látva,de tudunk írni saját cache funkciókat
  • a sablon forrás többféle lehet (fájl ,adatbázis)
  • plugin rendszere is van
  • utoljára de nem utolsosorban egyszerű

Mi kell a kezdéshez?

csináljunk egy könytárat a htdocs-ban, ebben fogunk ügyködni, csináljunk benne két könyvtárat : templates ill. templates_c -t, majd másoljuk bele a Smarty-2.6.6.tar.gz-ből a libs/*.* -ot. Tehát most így néz ki

akkor tehát ezek most így néz ki a struktúra:

1
2
3
4
5
6
-smarty/
--------/libs/ (itt van a smarty)
--------/cache (itt tárolja majd az összeállított kész sablonokat)
--------/configs (ez önmagért beszél)
--------/templates (itt vannak a sablonok)
-------/templates_c (ide generálja a kimenő kódot a smarty)

ha nem free szerveren lennénk így alakulna az elrendezés:

1
2
3
4
5
6
/usr/local/lib/php/Smarty/Smarty.class.php
/usr/local/lib/php/Smarty/Smarty_Compiler.class.php
/usr/local/lib/php/Smarty/Config_File.class.php
/usr/local/lib/php/Smarty/debug.tpl
/usr/local/lib/php/Smarty/core/*.php
/usr/local/lib/php/Smarty/plugins/*.php
1
2
3
4
5
/web/www.mydomain.com/smarty/webapplication/templates/
/web/www.mydomain.com/smarty/webapplication/templates_c/
/web/www.mydomain.com/smarty/webapplication/configs/
/web/www.mydomain.com/smarty/webapplication/cache/
/web/www.mydomain.com/docs/webapplication/index.php

Első programunk: Hello világ!

Irjuk meg a sablon fájlt

1
{$title}

mentsük el temp1.tpl néven a templates könyvtárba majd, majd írjuk meg első sablon motorunkat, ezt pedig helyezzük el az alapkönyvtárba (mostantól :zsola2) pl. temp1.php néven

1
2
3
4
5
6
<?php
require('./libs/Smarty.class.php');
$smarty=new smarty;
$smarty->assign('title','Hello világ!');
$smarty->display('temp1.tpl');
?>

a működése: becsatoljuk a smarty-t, majd létrehozzuk az objektumunkat, a következő lépésben hozzárendeljük a title-t a sablonban megadott {$title} változóhoz, a végén pedig megjelenítjük az egészet.
Meg is nézhetjük, nálam http://localhost/zsola2/temp1.php, ha ügyesek voltunk kimenetként láthatjuk művünket a Smarty belerakta a Hello világ! -ot a sablonba, és megjelenítette.

példa: http://ixedik.uw.hu/smarty/temp1.php
forrás: http://ixedik.uw.hu/smarty/pelda1.rarSzerző: toxin

Hugyecz Görgy (Harder)
20+ éve munkám és hobbim is az online világhoz köt. Az utóbbi 10+ évben leginkább keresőopimalizálás (SEO) témában tevékenykedem, mellette pedig Google Ads és Facebook PPC fronton is segítem ügyfeleimet. Korábban 10+ évig webgrafika, sitebuild, weboldal készítés témakörben mozogtam.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét