php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.12.2008, 01:10  
Dominik
Gast
 
Beiträge: n/a
Standard Template System

Hallo,

ich habe ein TPL System für meine Bedürfnisse gemacht und bin auch voll zufrieden damit.

In meinem Tpl hab ich aber keine Schleifen funktion eingebaut (möchte ich auch nicht)
Ich mache es dann so, dass ich eben für eine Schleife die Datei Members.htm mit den 10 Platzhaltern zb 10mal hintereinander aufrufe parse, und am schlus dass ergebniss addiert ausgebe

steht also sowas in einer phpschleife :
$eintrag = new Template("technik/content/module/user/styles/mitglieder.html", $eintrag);
$eintraege .= $eintrag->parsed;

wobei im array $eintrag dann die werte ide ersetzt werden eingefügt werden

Vom Zeitlichen weis ich etz nicht ob das langsamer ist hab bischen getestet und da ist es schon schnell

Wollte mal fragen ob das so okay ist... Geschwindigkeit kann ich nicht testen, also ob es langsammer ist 1000 mal eine html datei aufzurufen also eine html datei die 1000 mal größer ist (okay schlechter vergleich)
<?php

class Template {
function need($tag)
{
return preg_match("/\[" . strtoupper($tag) . "\]/", $this->text);
}

function rFile($file)
{
ob_start();
global $user;
global $login;
global $lastupdate;
global $rang;
global $db;

include $file;

$d = ob_get_contents();

ob_end_clean();
return $d;
}

function Template($file = false, $replacement = false, $auto = true)
{
global $variable;
if ($file === false || $replacement === false) return false;

$this->filename = $file;

$filename = $this->filename;
if (file_exists($filename)) {
$this->text = file_get_contents($filename);
} else {
$this->text = $filename;
}

$this->replacement = $replacement;
$this->parsed = "Not yet parsed";
if ($auto === true) {
$this->create();
}
}

function create()
{
$text = $this->text;
foreach($this->replacement as $tag => $value) {
$file = preg_replace("/^(.*\..*?)\?.*$/", "$1", $value);
if (file_exists($file)) {
if (preg_match("/.*\.php\?.*+$/", $value)) {
$queryString = preg_replace("/.*\.php\?(.*+)$/", "$1", $value);

$items = explode("&", $queryString);
foreach($items as $v) {
list($getName, $getValue) = explode("=", $v);
$_GET[$getName] = $getValue;
}
}

$this->replacement[$tag] = $value = ($this->need($tag)) ? $this->rFile($file) : "";
}
$text = preg_replace("/\[" . strtoupper($tag) . "\]/", $value, $text);
}
$this->parsed = $text;
}
}

?>
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.12.2008, 02:24  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Nach über 100 Einträgen sollte man doch schonmal was von den [php]-tags gehört haben oder ?
robo47 ist offline  
Alt 23.12.2008, 07:23  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja. Langsamer als wenn du eine Loop-Funktion direkt ins Template baust ist es mit Sicherheit.
Denn das Template wird ja dann eben NICHT 1000x größer (das ist ja der Witz) da du ja nur einmal die Variable reinschreibst und die "markierst" für "in einem loop" und der dann z.B. ein Array zuweist.

Ich persönlich würde den Loop ins Template reinbauen, weil du sonst für alles was geloopt werden muss eine extra HTML-Datei machen musst.

Aber: Solange das ganze von der Geschwindigkeit und Benutzung her deinen Bedürfnissen genügt ist es doch völlig in Ordnung. Das musst du selbst wissen.

mfg

PS: php-tags solltest du WIRKLICH kennenlernen
BlackWolf ist offline  
Alt 23.12.2008, 09:46  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Dominik,

das Thema "Ich habe mir mein eigenes Template-System geschrieben und es funktioniert auch ganz gut. Nun will ich aber noch XYZ machen und ich habe keinen Plan wie?!" gab es in den letzten Monaten zig mal.

Bitte nutze die Foren-Suche, da das Thema bereits erschöpfend diskutiert wurde. Im Forum finden sich ausreichend viele Hinweise auf Lösungen und Workarounds.

[MOD] Thread ist geschlossen, Einspruch bitte an mich per PN einreichen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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
Lieber Template oder Normal für ein community? mysteryxxx PHP Tipps 2008 8 17.09.2008 23:04
Ausgabe im Template System nicht an vorgsehener Stelle Kein Genie PHP-Fortgeschrittene 7 21.04.2008 23:06
template system cycap PHP Tipps 2007 7 27.02.2007 08:59
template system jens76 PHP Tipps 2007 2 17.12.2005 21:58
Eigenes Template System PHP Tipps 2005-2 31 07.08.2005 01:24
Template System oder Lösung gesucht PHP Tipps 2005 14 21.05.2005 22:07
Template System mit IF PHP Tipps 2005 10 06.05.2005 23:58
Vorschläge für eigenes template system! PHP Tipps 2005 2 14.03.2005 13:44
Template System tutorial PHP Tipps 2005 3 09.02.2005 19:49
Welches Template System? zwelch PHP Tipps 2004-2 1 18.11.2004 09:04
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
[Erledigt] Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
Smarty als Template System?! PHP Tipps 2004 16 22.07.2004 11:22
Smarty Template System: If Anweisung? PHP Tipps 2004 2 18.07.2004 19:31
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match template, template system loop array, template loop funktion, template system php vergleich

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14 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