php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.04.2007, 19:31   #1 (permalink)
Benutzer
 
Registriert seit: 10.01.2007
Beiträge: 34
Matze
Standard 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
Matze ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.04.2007, 20:17   #2 (permalink)
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

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.
Zergling-new ist offline  
Alt 08.04.2007, 22:14   #3 (permalink)
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.020
PHP-Kenntnisse:
Fortgeschritten
dr.e. sorgt für eine eindrucksvolle Atmosphäredr.e. sorgt für eine eindrucksvolle Atmosphäredr.e. sorgt für eine eindrucksvolle Atmosphäre
dr.e. eine Nachricht über Skype™ schicken
Standard

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 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
Variable aus Klasse herausbekommen GSJLink PHP Tipps 2008 7 16.02.2008 22:25
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
mehr als eine Klasse einbinden Alpha Centauri PHP-Fortgeschrittene 4 13.04.2006 20:56
foreach in parser Klasse Simon9990 PHP Tipps 2006 10 17.01.2006 14:23
Zuf�lligen String auf Bild schreiben - Klasse geht nicht greg PHP-Fortgeschrittene 4 06.11.2005 11:19
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
[Erledigt] Führerschein für Klasse A+B.. Preis OK??? Off-Topic Diskussionen 20 13.07.2005 18:44
String Parser PHP-Fortgeschrittene 2 07.07.2005 13:33
Rückgabewert auf einer Klasse anders als in der Klasse micbur PHP Tipps 2005-2 6 10.06.2005 15:06
String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
Klasse holt sich die Klasse PHP-Fortgeschrittene 9 07.10.2004 11:53
Problem bei einer Klasse mit "hat" beziehung PHP Tipps 2004 4 06.10.2004 21:29
Brauche Hilfe bei meiner ersten Klasse PHP-Fortgeschrittene 9 24.09.2004 17:09
Klassenobjet in anderer Klasse benutzen inu PHP Tipps 2004 6 19.09.2004 10:58
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
string parser, php string parsen, php parse string, stringparser, parser klasse, php string parsing, string.parse, tipps für string parser, suche string parsen, parser, string parsen, strings parsen, parser tostring(), string parsen php, php string as parser, string.parsestr, strings parsen php, string von anderer klasse benutzen, was macht die klasse parse, php string parser

Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, 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.