Portal > Foren > PHP > PHP-Programmierung > Templatesystem
Antwort
 
Themen-Optionen Thema durchsuchen
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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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: 459
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 gerade online  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen 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 Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind 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 +1. Es ist jetzt 10:44 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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 45