php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.07.2005, 15:08  
Erfahrener Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 223
atom-dragon
Standard Templatesystem Denkansatz?

Hi

Also ich bin grade dabei mir ein Templatesystem zu bauen!
Meine Idee um Variablen zu ersetzen ist ganz einfach:
Ich setze die Variablen mit einer Funktion!
Und lasse sie beim Parsen in eine global setzen!
Das einzige Problem ist, das ich nich weis wie das machbar wäre!
Auf Gut Deutsch ich breuchte nen Denkansatz!

mfg-AD
atom-dragon ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.07.2005, 15:09  
Gast
 
Beiträge: n/a
Standard

http://www.php.net/preg_replace
 
Alt 28.07.2005, 15:15  
Erfahrener Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 223
atom-dragon
Standard

hmm
So dachte ich auch das ich dann wie bei anderen system die Variable ersetze!
Nur damit kamm ich nich richtig zum erfolg
Und deswegen mochte ich variablen Global setzen damit ich die auch ganz normahl schreiben kann und bei parsen dan durch eval laufen lasse!
Nur ich weis nich wie ich Variable die ich voher durch ne Funktion bestimme global setze!
__________________
Ja dieser Beitrag war Notwendig!
atom-dragon ist offline  
Alt 28.07.2005, 15:59  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 209
PHP-Kenntnisse:
Fortgeschritten
Chance
Chance eine Nachricht über ICQ schicken
Standard

Das Zauberarray ist: $_GLOBALS .

das Problem bei deinem denkansatz ist, das, wenn man es schafft, das Script zu hacken, einen leichten Zugriff auf die Systemvariablen wie die MySQL Daten hat.

Ich benutzte folgende Variante:
PHP-Code:
<?php
$TemplateParse 
= @preg_replace('/{([^}]+)}/e','$Parse[\'\\1\']',$TemplateParse);
?>
Diese kann man licht für deine zwecke umbauen, hab ich mal so gehabt, es dann aber wieder aus Sicherheitsgründen verworfen.
__________________
Web-Entwickler/-in bei der IAK GmbH
Chance ist offline  
Alt 28.07.2005, 16:03  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von Chance
Das Zauberarray ist: $_GLOBALS
Kenn ich nicht. Was soll das sein?

Meinst du etwa $GLOBALS ?

und warum das rad 5mal neu erfinden? Gibt doch genug templatesysteme.
Buhmann ist offline  
Alt 28.07.2005, 16:30  
Erfahrener Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 223
atom-dragon
Standard

Weil ich nur ein Templatesystem bauche wo man Variablen einsetzen kann!
Und Das Zauberarray kenn ich!
So hab ich es voher gehandharbt!
Nur da gings nicht richtig!
Und mit dem Global setzen was ist daran unsicher ?

mfg-AD
__________________
Ja dieser Beitrag war Notwendig!
atom-dragon ist offline  
Alt 28.07.2005, 16:42  
Gast
 
Beiträge: n/a
Standard

Was du eigentlich machen möchtest, ist ein Array an deine parseTemplate() Funktion zu übergeben, die dann ein *_replace() macht für jeden Eintrag im Array. PHPLib hat das früher z.B. sogemacht das der Schlüssel eines Array-Eintrags den Variablennamen repräsentierte und der Wert das womit die Variable im Template ersetzt werden sollte. Da brauchst du kein eval() o.ä. wenn es dir nur um das Einsetzen von Variablen geht.

Du benötigst dafür effektiv 0 globale Variablen.

Oder mach es halt so wie es schon gesagt wurde und nimm eines der bereits verfügbaren Templatesysteme.
 
Alt 28.07.2005, 19:19  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 209
PHP-Kenntnisse:
Fortgeschritten
Chance
Chance eine Nachricht über ICQ schicken
Standard

Wie gesagt, jemand braucht nur durch einen Bug etc. eine eigene Seite templieren zu können, schon kommt er aufgrund des Globalen Zugriffs an empfindliche Daten wie z.B. die MySQL Zugangsadaten...

Globale Variablen braucht man dazu nicht wirklich...
__________________
Web-Entwickler/-in bei der IAK GmbH
Chance ist offline  
Alt 28.07.2005, 19:31  
Erfahrener Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 223
atom-dragon
Standard

Ihr wisst nicht wie ich es meine:
Mit Funktion setze ich die Variable $row
Die Lasse ich in der Parser Funktion Global stellen!
Versteht ihr ?

mit Global setzen meine ich:
global $row;

mfg-AD
__________________
Ja dieser Beitrag war Notwendig!
atom-dragon ist offline  
Alt 28.07.2005, 20:03  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 209
PHP-Kenntnisse:
Fortgeschritten
Chance
Chance eine Nachricht über ICQ schicken
Standard

Poste doch einfach mal deine bisherige Tempaltefunktion...

Mal nochmal genau...
Du möchtest in deine Templatefunktion einen Wert mit Global holen, um ihn dann zu parsen ? Oder zum parsen zu nehmen ?
__________________
Web-Entwickler/-in bei der IAK GmbH
Chance ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Templatesystem mit Funktionen und Variablen drin? BartTheDevil89 PHP Tipps 2008 6 01.07.2008 09:32
Gutes Templatesystem ZiMD PHP Tipps 2005-2 14 22.12.2005 15:42
Denkansatz für eine Datenbankstruktur Datenbanken 3 03.11.2005 20:27
Templatesystem für Kommerzielle Nutzung HStev Off-Topic Diskussionen 3 28.09.2005 16:18
[Erledigt] Beste &quot;Struktur&quot; für ein Templatesystem PHP-Fortgeschrittene 11 12.08.2005 05:21
Denkansatz gesucht: Zeitverwaltung ähnlich Outlook Kort Beitragsarchiv 3 25.07.2005 08:53
Templatesystem mit verschaltelten Blöcken inu PHP Tipps 2005 1 18.02.2005 16:20
templatesystem spinnt total verzweifle schon PHP Tipps 2005 0 17.02.2005 14:03
brauche mal nen denkansatz :) PHP Tipps 2005 14 17.01.2005 14:32
TemplateSystem will nicht so wie ich will^^ PHP Tipps 2004 1 16.10.2004 16:56
DB Ausgabe in eigenem Templatesystem realisieren Corvin PHP-Fortgeschrittene 25 06.09.2004 18:48
CMS + Smarty? oder eigenes Templatesystem? Corvin PHP-Fortgeschrittene 9 04.09.2004 11:07
Templatesystem: Wie realisiere ich Schleifen? TheSkaterFriend PHP Tipps 2004 2 14.08.2004 15:19
Templatesystem PHP-Fortgeschrittene 7 18.07.2004 15:45
Wie Realisiere ich ein Templatesystem? PHP Tipps 2004 21 09.06.2004 01:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
templatesystem bauen mit pregreplace, eigenes templatesystem bauen, template system php, cms denkansatz

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.