Token Replacement
bearbeitet von
moin,
> was Du da tust, ist nicht ganz transparent, und mutmaßlich auch nicht völlig sauber.
Ja ich hab nur mit **preg_replace_callback_array** gearbeitet. Wie erwähnt sehe ich mich im stande diese "Projekt" zu programieren aber wie du schon vermutest unsauber ohne zu forschen. Ich müsste wirklich _"das Rad neu erfinden"_.
> Du schreibst im Sourcecode also `Token::add('name', 'value')`.
Je nach _UseCase_ denke ich, kann man mit statischen Klassen arbeiten wie.
> Welche Programmiersprache ist das? PHP? Schreibst Du das tatsächlich so im Sourcecode oder wolltest Du nur andeuten, dass `add` eine Methode der Klasse Token ist?
Das Zweite. Ich verwende eine Skriptsprache die keine Klassen kennt, abseit des WWW ist, die nicht geläufig ist, aber ähnlichkeiten zu allen anderen Sprachen hat. Da ich generell die Replacement Technik wissen möchte, passt das ganz gut in dieses Forum meines erachtens.
> Was mir auch nicht klar ist: Woher weiß die Token-Klasse, welches Replacement-Muster für {#user#} anzuwenden ist? Ist es immer `"<i class='$tokenname'>$tokenvalue</i>"`? Auch das wäre unnötig starr.
habe ich ja erwähnt. Es gibt in meinem Beispiel kein Replacement muster. Ein Replacement Muster zu programmieren ist ja gerade das Ziel des Threads. Sorry wenn das nicht erkennbar ist.
> Wie legst Du die Replacement-Muster fest? An dieser Stelle wäre es möglich, erweiterte Replacements vorzusehen (Formatierer genannt).
Klar habe ich ja angedeutet `{#user:address#}`. `address`wäre die Formatierung anders als bei `fullname`. Aber sorry ich kenne mich diesbezüglich nicht aus deswegen meine Frage 😉.
> Du könntest, statt das Rad selbst zu erfinden, auch fertige Template-Libraries einsetzen.
Klingt gut aber wie erwähnt verwende ich eine Skripsprache die propietär ist. Und ich möchte das Rad immer wieder neu erfinden um so besser lernen zu können. Nichts für ungut 😉.
lgmb
--
Sprachstörung