[PHP] Template / Buffering / Compressing

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 07-07 13:36
Ik hoop dat m'n titel een beetje de lading van mijn vraag dekt. Ik ben een start aan het maken met een automatiseringsproject. Ik ben al redelijk ver met de CORE van het systeem (Alles wordt in een buffer geplaatst, gecomprimeerd en dan verzonden naar de browser). Ik heb een kind of template systeem ingebouwd. Maar niet op de manier zoals het zou moeten. Eerst include het systeem een header.html en op het eind een footer.html en daartussen worden wat formulieren enzo zometeen gegenereerd door de modules die in het systeem komen te draaien.

Nu zit ik al een tijd te kijken naar een echt templating systeem zoals Smarty. Ik vind het een geweldig systeem maar vraag me af of het nodig is in mijn geval. Ik zit te twijfelen of ik de formulieren zometeen ga genereren (heb een HTML class geschreven die dus html code uitpoept) of dat ik de formulier in .TPL bestanden moet gaan zetten. Als ik smarty nu zou toepassen gebruik ik het template systeem alleen voor de header en de footer en dan is volgens mij dat include('header.html') sneller dan Smarty op het systeem te laten draaien.

Daarnaast versnelt smarty volgens mij wel de tijd dat een pagina opgebouwd wordt, maar gaat dit ook werken als ik dat compressed buffer systeem van mij blijf draaien, of krijg je dan een gecomprimeerde pagina die gecomprimeerd wordt :?
Wat is het omslag punt om Smarty te gebruiken ipv html bestanden includen voor in mijn geval (voor wat het nu is) een header en een footer?

Acties:
  • 0 Henk 'm!

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
als jij een vaste header en footer hebt, zou ik geen smarty gebruiken. En compressie en smarty gaat wel samen. Hoe ik smarty gebruik: ik heb een file waarin de layout van de pagina vaststaat (dus zeg maar de header en footer gecombineerd) en vervolgens verschillende templates voor verschillende modules. Bla bla, voor meer uitleg moet je me maar mailen ofzo :). Maar als je zin hebt om veel tijd kwijt te zijn dan zou ik toch smarty implementeren, want uiteindelijk loont het wel. Anders zou ik gewoon bij je oude systeempje blijven....

Acties:
  • 0 Henk 'm!

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 07-07 13:36
Bedankt voor je reactie, ik zou je graag willen mailen maar ik heb je mail-adres niet ;)
Zoals jij het aanpakt klinkt wel interessant, ik heb dus al een stukje van m'n core gebouwt maar ga nu eerst even een tijd nadenken, schrijven enzo want de core is toch het belangrijkste van de applicatie, ik ga me dus ook niet echt superdruk maken om de deadline, pefectie staat in dit geval bij mij net iets hoger dan opleverdatum (zeker omdat ik zometeen degene ben die aanpassingen moet gaan doen en omdat de hele bedrijfsvoering van de klant afhankelijk word van het systeem).

Ik zou dus graag je mail adres willen (of msn ofzoiets) ...

Acties:
  • 0 Henk 'm!

  • wustenveld
  • Registratie: Februari 2002
  • Laatst online: 07-07 13:36
Oke, ik heb smarty nu draaien binnen de applicatie en gebruik hem nu alleen nog even voor de header en footer. De startpagina laadde eerst op in 0.11682ms en nu met smarty doet hij er 0.16863ms over, iets van 0.05ms langzamer dus.
Toen bedacht ik dat smarty ook iets als caching had waardoor het een en ander sneller zal worden. Dus ik zet $smarty->caching=true in de code waardoor de cache dus zou moeten gaan werken. Maar toen verscheen er een foutmelding in het systeem: "Undefined index: insert_tags" in Smarty.class.php op regel 633.

Ik start smarty op de volgende manier:
code:
1
2
3
4
5
6
7
8
$template = "header.tpl";
$smarty = new Smarty;
$smarty->template_dir = TEMPLATE_DIR;
$smarty->compile_dir = TEMPLATE_DIR . 'templates_c';
$smarty->cache_dir = TEMPLATE_DIR . 'cache'; 
$smarty->caching = true;
$smarty->cache_lifetime = 7200;
$smarty->display($template);


Ik heb gezocht in de documentatie van smarty maar kan deze error natuurlijk nergens vinden, het opstarten van smarty heb ik gewoon uit de documentatie gehaald en ging er van uit dat het wel zou werken. De cache en template_c directory heb ik ge-chmod.
Wat gaat er nou verkeerd ??