HX3 Foren  

  HX3 Foren > Konstruktiv > Software- und Webentwicklung

Software- und Webentwicklung Planung, Programmierung und Administration
UML, JavaScript/DOM, ASP, JSP, PHP, Apache, MySQL, Python, Perl (...)

Antwort
 
Themen-Optionen Ansicht
Alt 10.01.2005, 10:42   #1 (permalink)
50 Beiträge
 
Registriert seit: 20.11.2004
Beiträge: 59
Standard [Script] Minimalste Templateengine

Ich habe für ein anderes Projekt eine Art Minimalklasse entwickeln dürfen, die im Prinzip nix kann ausser Programmierlogik und Design zu trennen. Das besondere ist, dass es ohne eval auskommt, sehr schnell ist und die Klasse viel kleiner als 1 kb ist mit Kommentaren. Evtl. ist das ja eine kleine Inspiration für andere .

PHP-Code:
<?php

/**
 * Just a simple Template Class
 */
class tpl
{
    var 
$_vars = array();

    
/**
     * Assign vars
     * @input: string $key the key to replace
     * @input: string $value the value which should be insert
     */
    
function vars($key$value)
    {
        
$this->_vars['{'.$key.'}'] = $value;
    }

    
/**
     * Parse the template
     * @input: string $tpl the filename of the template
     * @return: string the parsed template
     */
    
function parse($tpl)
    {
        
$template = @file_get_contents('templates/'.$tpl) OR exit('Could not open template: '.$tpl);
        return 
str_replace(array_keys($this->_vars), array_values($this->_vars), $template);
    }
}

?>
Und die Anwendung:
PHP-Code:
<?php
$tpl 
= new tpl();
$tpl->vars('VAR1'$variable1);
$tpl->vars('VAR2'$variable2);
echo 
$tpl->parse('template.html');
?>
In dem Template werden dann {VAR1} und {VAR2} durch die angegebenen Variabeln ersetzt. Viel Spass
Dr. Doom ist offline   Mit Zitat antworten
Alt 10.01.2005, 17:48   #2 (permalink)
Administrator 10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Atomic
 
Registriert seit: 21.02.2003
Ort: Köln
Alter: 38
Beiträge: 5.162
Atomic eine Nachricht über Skype™ schicken
Standard AW: [Script] Minimalste Templateengine

Es gibt Template Systeme wie Sand am mehr. Alle mit ihren eigenen unzähligen Features. Die sind alle Bullshit weil sie aus dem Ziel von Templates, nämlich "Design von Funktion" zu trennen Meilenweit vorbeiziehen da sie es mit ihren "tollen" Features zu einer Wissenschaft machen.
__________________
https://savetheinternet.info/
Atomic ist offline   Mit Zitat antworten
Alt 10.01.2005, 18:49   #3 (permalink)
50 Beiträge
 
Registriert seit: 20.11.2004
Beiträge: 59
Standard AW: [Script] Minimalste Templateengine

Zitat von AtomicHX3

Es gibt Template Systeme wie Sand am mehr. Alle mit ihren eigenen unzähligen Features. Die sind alle Bullshit weil sie aus dem Ziel von Templates, nämlich "Design von Funktion" zu trennen Meilenweit vorbeiziehen da sie es mit ihren "tollen" Features zu einer Wissenschaft machen.

Das Problem wird man hier nicht haben, weil wie gesagt, das Ding kann nix, ausser Design vom Code trennen.
Dr. Doom ist offline   Mit Zitat antworten
Alt 10.01.2005, 19:07   #4 (permalink)
Administrator 10 Jahre hx3
5000 Beiträge
 
Benutzerbild von Atomic
 
Registriert seit: 21.02.2003
Ort: Köln
Alter: 38
Beiträge: 5.162
Atomic eine Nachricht über Skype™ schicken
Standard AW: [Script] Minimalste Templateengine

Zitat von Dr. Doom

Das Problem wird man hier nicht haben, weil wie gesagt, das Ding kann nix, ausser Design vom Code trennen.

Und einen Vorteil hat es auch noch: Es ist schneller als die mit den Features.
__________________
https://savetheinternet.info/
Atomic ist offline   Mit Zitat antworten
Antwort


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

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 aus


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119