Ankündigung

Einklappen
Keine Ankündigung bisher.

String-Parser Klasse - was muss rein?

Einklappen

Neue Werbung 2019

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

  • String-Parser Klasse - was muss rein?

    Hi Leute!
    Ich wollte anfangen, eine kleine String-Parser Klasse zu basteln. Also eine Klasse, die z.B. BBCode und Smilies in einem Text umwandelt.

    Ich bin mir noch unschlüssig, wie ich die Klasse konstruieren will. Da gibt es 3 Möglichkeiten.

    1. Eine Instanz der Klasse wird in einer globalen Datei erstellt und auf die Methoden wird bei Bedarf zugegriffen. Dabei würde man wohl einiges an Code sparen.

    PHP-Code:
    <?php
    // global.php
    $parser = new parser(evtleinige informationen);
    ?>

    <?php
    // ausgabe.php
    $string $parser->methode($string);
    ?>
    2. Eine neue Instanz der Klasse wird bei jedem String erstellt, der formatiert werden soll. Das ganze verbraucht mehr Code. Der Text würde in der Klasse gespeichert werden und müsste nicht bei jeder Methode als Parameter angegeben werden.

    PHP-Code:
    <?php
    // ausgabe.php
    $parseString = new parser($string);
    $parseString->methode();
    ?>
    3. Man könnte die Klasse auch ohne jegliche Instanz nutzen. Quasi wie Methode 1, nur ohne lästiges benutzen von global.

    PHP-Code:
    <?php
    // ausgabe.php
    $string parser::methode($string);
    ?>
    Welche Methode haltet ihr für sinnvoll? Die dritte sagt mir eigentlich zu, aber ich will mich vorher lieber nochmal absichern.

    Zudem wollte ich von euch wissen: Was muss rein in so eine Klasse? Welche Methoden, evtl. welche Eigenschaften? Eine Methode zur Formatierung von BBCode und eine zur Formatierung von Smilies ist schonmal klar. Aber welche Formatierungen sollte es sonst noch geben?

    Über eine kleine Einschätzung von euch würde ich mich freuen!

    Liebe Grüße
    Matze

  • #2
    Der String hat ja mehrere Zustände, den unformatierten und den formatierten/umgewandelten. Somit würde ich keine statischen Aufrufe verwenden.

    Da du mehrere Strings verschieden formatieren wollen könntest, würde ich zu Punkt 2 tendieren.

    Kommentar


    • #3
      Hallo Matze,

      ich stimme Zergling zu und stimme für 2. In der "methode" kannst du intern die eigentlichen Parsing-Vorgänge dann noch in die unterschiedlichen Aufgaben aufsplitten (eine für die Formatierungen, eine für Farben, eine für ...). Mit der Übergabe einiger Parameter beim Instanziieren könntest du dann z.B. eine oder mehrere Parsings deaktivieren / aktivieren.

      Sinnvoll wäre hier auch, dass man Schriftgrößen und Farben konfigurieren könnt - so bist du generisch und evtl. noch Extensions einhängen kann um spezielle andere Tags zu parsen (z.B. News-Darstellung, o.ä.).
      Viele Grüße,
      Dr.E.

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      1. Think about software design [B]before[/B] you start to write code!
      2. Discuss and review it together with [B]experts[/B]!
      3. Choose [B]good[/B] tools (-> [URL="http://adventure-php-framework.org/Seite/088-Why-APF"]Adventure PHP Framework (APF)[/URL][URL="http://adventure-php-framework.org"][/URL])!
      4. Write [I][B]clean and reusable[/B][/I] software only!
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      Kommentar

      Lädt...
      X