Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > PHP > PHP-Programmierung > Templatesystem
Antwort
 
Themen-Optionen
Alt 09.04.2006, 01:36   Nach oben    #1
Neuer Benutzer
 
Registriert seit: 27.01.2006
Beiträge: 26
Standard Templatesystem

Hi Leute,

Ich baue gerade an einem Templatesystem und schreibe mir für das Templatehandling eine Klasse.

ich habe dort auch eine Methode mit der ich geziehlt das Zusammenbauen der Templates steuern kann.

Im Prinzip werden die Templates erst mal in ein Array eingelesen. Die Mehtode verschachtelt die Templates . Es werden immer Markierungsnamen ( z.B. {T_KOPFTEIL} ) im Basistemplate verwendet, die auch als Schlüsselname (KOPFTEIL) im Template-Array stehen. Im Template-Array (hier $tpl) sind alle schon geladenen Templates drin. Bei dem Ersetzen der Markierung mit dem Inhalt werden auch Selbstverschachtelungen ausgeschlossen.

Ich hab dazu mal folgenden relevanten Code der entsprechenden Methode geschrieben (Auszug

PHP-Code:
 protected $tplReg '~\{(T_)(.*)\}~iUs'
PHP-Code:
# Template Compilieren
function CompileTpl($name)
{
# einzelnes Templates nach Namen in Array lesen
$array $this -> tpl;
$tpl $array[$name];
# nach Templateplatzhaltern im ausgewählten Template suchen
if($res_num preg_match_all($this -> tplReg,$tpl,$result))
{
# Liste der Treffer prüfen
for($i 0;$i $res_num;$i++)
{
# vergleichen ob Markierung aus Basis-Template im Tpl-Array als Schlüsselname vorhanden ist
if($array[$result[2][$i]] and $array[$result[2][$i]] != $name)
{
$tpl preg_replace('~\{T_'.$result[2][$i].'\}~iUs',$array[$result[2][$i]],$tpl);
}
}

Nun würde mich mal interessieren was ihr von dem Codedesign haltet, irgendwas nicht beachtet ist oder überhaupt Fragen und Anmerkungen habt. Ich geb zu das ich erst seit ein paar wochen mit OOP beschäftigt bin und noch nicht den kompletten Überblick habe.
Alpha Centauri ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.04.2006, 08:47   Nach oben    #2
Corvin Gröning
 
Benutzerbild von Corvin
 
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
Standard

Hi.

Ich finde, dass du das ein wenig umständlich gelöst hast.
Schau mal hier:
http://forum.developers-guide.net/sh...t=684#post5996
__________________
Corvin ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.04.2006, 19:35   Nach oben    #3
Neuer Benutzer
 
Registriert seit: 27.01.2006
Beiträge: 26
Standard

OK! Hab gerade gesehen, dass mit dem 2. regulären Ausdruck kann ich auch wegglassen und die Maskierung so hinschreiben. Bei $this war ich nicht sicher ob es auch mit Arrays geht, hatte es nicht ausprobiert.
Alpha Centauri ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Ein eigenes Templatesystem schreiben Corvin Tutorials 42 19.03.2008 17:58
Schleifen im Templatesystem Stefan125 PHP-Programmierung 4 19.07.2007 02:36
Templatesystem von Corvin in PHP4? bl-25 PHP-Programmierung 9 04.04.2007 14:54
Templatesystem erweitern Berti PHP-Programmierung 8 06.12.2006 15:43
Templatesystem - Foreach-Schleifen ex³ PHP-Programmierung 9 23.04.2006 13:52


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44