Templatesystem Eigenbau

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • combie
    antwortet
    Da du doch sicherlich Kontrollstrukturen und Funktionen ineinander schachteln willst (wenn nicht Heute, dann sicherlich Morgen) wirst du dir zu dem Zwecke eine Datenstruktur anlegen müssen.
    Üblich sind Stacks, Listen oder Bäume...


    Mal am Rande:
    Templateengines: Warum diese nicht glücklich machen

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Das klingt nicht logisch. Du brauchst einen Stack. Mit static hat das gar nichts zu tun.

    Zitat von uhuwe Beitrag anzeigen
    Den schreibe ich doch gerade.
    Das was du schreibst ist kein Parser, sondern ein einfaches Rate-Programm. Wenn du deinem Tool eine Datei vorwirfst, in der
    1. mehrzeilige Strings
    2. mehrzeilige Kommentare
    3. Strings mit Schlüsselwörtern
    4. Kommentare mit Schlüsselwörtern (auskommentierter Code)

    vorkommen, macht es daraus, was es will. Sobald jemand mit bösen Absichten dein Tool genauer testet, wird er feststellen, dass es in Leuchtbuchstaben nach Eindringlingen bettelt.

    Entschuldige, dass das sehr hart klingt, aber ich hoffe, dir damit wenigstens den Ernst der Lage vermittelt zu haben.

    Edit: Um das etwas zu entschärfen: Die Angriffsgefahr ist natürlich nur gegeben, wenn Seitenbesucher selbst die Templates benutzen können. Da es aber so aussieht, als ob nur du die benutzt, sollte es keine Probleme geben, solange du sie selbst richtig benutzt. Das hatte ich anfangs übersehen.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 08.02.2010, 11:49.

    Einen Kommentar schreiben:


  • uhuwe
    antwortet
    Zitat von TobiaZ Beitrag anzeigen
    a) Warum musst du dir das merken? b) welche Rolle soll static dabei erfüllen?
    zu a) Dadurch, dass jede Zeile einzeln bearbeitet wird, muss bei einem Auftreffen von '[/while]' in die Zeile von '[while]' zurückgesprungen werden solange wie noch Datensätze offen sind.

    zu b) Static soll veranlassen, dass der Variablenwert nicht jedes mal überschrieben wird.

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    muss ich mir irgendwie merken, in welcher Zeile das ist. Mit 'static' komme ich da irgendwie nicht weiter.
    a) Warum musst du dir das merken? b) welche Rolle soll static dabei erfüllen?

    Einen Kommentar schreiben:


  • uhuwe
    antwortet
    Zitat von combie Beitrag anzeigen
    Da du da gerade eine eigene Sprache erfindest, wirst du wie alle, welche sowas tun, einen Parser schreiben dürfen.
    Den schreibe ich doch gerade.

    Einen Kommentar schreiben:


  • combie
    antwortet
    Wenn es auf eine Schleifenfunktion handelt,
    Das ist eine Kontrollstruktur und keine Funktion

    Da du da gerade eine eigene Sprache erfindest, wirst du wie alle, welche sowas tun, einen Parser schreiben dürfen.
    Dabei könnte das Stichwort "endlicher Automat" hilfreich sein.

    Einen Kommentar schreiben:


  • uhuwe
    antwortet
    Ich lasse in meinem System prüfen, ob es auf Templatefunktionen trifft
    wenn das der Fall ist wird geprüft, um welche Funktion es dabei handelt.
    Wenn es auf eine Schleifenfunktion handelt, muss ich mir irgendwie merken, in welcher Zeile das ist. Mit 'static' komme ich da irgendwie nicht weiter.
    Gibt es da noch eine andere Möglichkeit?

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    Ja, das dachte ich auch schon des öfteren.

    Glückwunsch, vor allem aber zum Beibehalt der Qualität. Da war ich gerade schon wieder kontraproduktiv...

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Zitat von combie Beitrag anzeigen
    Glückwunsch!
    Aber einen wirst du doch noch hin bekomen...
    OffTopic:
    OK, da ist er! Und 10.000!

    Peter

    Einen Kommentar schreiben:


  • combie
    antwortet
    Glückwunsch!
    Aber einen wirst du doch noch hin bekomen...

    Einen Kommentar schreiben:


  • uhuwe
    antwortet
    EDIT:9.999 Posts. Eigentlich sollte ich mich jetzt zur Ruhe setzen
    Na dann gratulieren wir dir zu 9.999 Beiträgen.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Zitat von uhuwe Beitrag anzeigen
    Wie muss ich die Funktion deklarieren? mit 'function foo($array[])' geht es schief.
    PHP-Code:
    function bla($blubb)
    {
      
    print_r($blubb);
    }
    $blubber = array(1,2,3);
    bla($blubber); 
    Peter
    EDIT:
    9.999 Posts. Eigentlich sollte ich mich jetzt zur Ruhe setzen

    Einen Kommentar schreiben:


  • uhuwe
    antwortet
    Arrays an funktion übergeben

    Wie muss ich die Funktion deklarieren? mit 'function foo($array[])' geht es schief.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Oder
    PHP-Code:
    global $array;
    $array = array(1,2,3); 
    Peter

    Einen Kommentar schreiben:


  • combie
    antwortet
    Auch wenn ich das Ganze für einen Irrweg halte:
    kein Array global erklären kann und wenn, dann weiß ich nicht wie.
    PHP-Code:
    $GLOBALS['deinArray'] = array(1,2,3,4); 

    Einen Kommentar schreiben:

Lädt...
X