phpbar.de logo

Mailinglisten-Archive

[php] [announce] IT[X] - Integrated Template [Extension]

[php] [announce] IT[X] - Integrated Template [Extension]

Ulf Wendel UW_(at)_NetUSE.DE
Fri, 22 Sep 2000 15:24:48 +0200


Ahoi,

yet another template class im PHPLib CVS -
http://phplib.netuse.de/cgi/cvsweb.cgi/php-lib/. Als ein
Abfallprodukt eines größeren Projekts gibt es eine neue Template
Klasse. 

IT[X] liegt zwischen den Till&Tobel Templates und
FastTemplate/IsoTemplate (Näheres siehe PHPLib Liste). 
Der entscheidende Unterschied liegt darin, daß innerhalb eines
Files mehrere Blöcke möglich sind. Daudesigner brauchen ein
Template nicht mehr auf mehrere Files zu verteilen.

+++ Features +++ 

 IT:
  - Suchen&Ersetzen
  - Entfernung unbekannter Variablen
  - Blöcke in -einem- File
  - Verschachtelung von Blöcken möglich
  - Entfernung leerer Blöcke
 
 ITX:
  - Blöcke in externen Files

+++ API +++

Die Block API nochmals einfacher als die der IsoTemplates (stable
template.inc, Isotopp ist der Nick von Kristian). 

IT mit Blöcken:

 $tpl->setCurrentBlock( string blockname )

 $tpl->setVariable( array ( string varname => mixed value ) );
 $tpl->parseCurrentBlock();

ITX ist eine Ableitung von IT und bietet die Möglichkeit Blöcke
aus externen Files einzubinden. Mit anderen Worten: ITX bietet
praktisch den vollen Featureset von IsoTemplate.

ITX mit externen Blöcken:

 $tpl->addBlockfile( string placeholder, string blockname, string
filename);

 $tpl->setCurrentBlock( string blockname )

 $tpl->setVariable( array ( string varname => mixed value ) );
 $tpl->parseCurrentBlock();
  
+++ Status +++

Die API ist noch nicht isofiziert und entspricht nicht den PHPLib
naming conventions. Ich habe leider derweil keine Zeit hier
Anpassungen vorzunehmen, also entweder umbauen oder vorsichtig
sein. 

Zur Stabilität kann ich noch nicht viel sagen, erste Tests
verliefen gut.

Etwas Doku ist im Source, ansonsten das PHPLib Listen Posting
lesen und -dort- nachfragen.

+++ Speed +++

Schnell, es ist kein relevanter Unterschied zu den IsoTemplates
meßbar. 

Das wichtige an jeder Templateklasse ist die Verwendung von
preg_replace(); dies gewinnt gegenüber strtr() und Schleife +
str_replace() bei wenigen Ersetzungen (n<50) spürbar.
preg_replace() wird auch in IT[X] benutzt.

+++ Download +++

http://phplib.netuse.de/cgi/cvsweb.cgi/php-lib/php/ext/integratedtemplate.inc
http://phplib.netuse.de/cgi/cvsweb.cgi/php-lib/php/ext/integratedtemplateextension.inc

Viel Spaß!

Ulf


-- 
Ulf Wendel
NetUSE AG, Siemenswall, 24107 Kiel, Germany
Fon: +49 431 386435 00  --  Fax: +49 431 386435 99


php::bar PHP Wiki   -   Listenarchive