Rolf B: Magic Strings für Token Replacement

Beitrag lesen

Hallo MB,

was spricht aus deiner Sicht denn gegen {# und #}? Delimiter einer eingebetten Sprache müssen genau zwei Anforderungen erfüllen:

  • sie müssen kompakt sein, damit man sich nicht die Finger wund tippt
  • sie sollten im Kontext des Dokuments, in dem sie genutzt werden, selten bis gar nicht vorkommen.

HTML ist eine Sprache, die - von der ursprünglichen Idee her - in Textdokumente eingebettet wurde. Dafür wurden < und > als Delimiter gewählt. &lt; und &gt; (für lesser than und greater than) sind die Hilfskonstrukte, die man nutzt, wenn < und > im Text benötigt werden.

Du bettest nun in HTML eine weitere Sprache ein: deine Template-Sprache. Die von Dir gewählten Delimiter {# und #} sind gut geeignet. Sie sind kurz, und sie haben in HTML, CSS, JS und PHP keine eigene Bedeutung. In natürlichem Text eigentlich auch nicht.

Andere Systeme verwenden andere Delimiter. Mustache nutzt {{ und }}. ASP verwendet <% und %>. PHP verwendet <?php und ?>. Smarty verwendet sogar nur { und } - was dumm erscheint, aber sie haben den Trick eingebaut, dass ein { oder }, das von Whitespace umgeben ist, von Smarty ignoriert wird.

Kann es sein, dass Du Dich zu sehr selbst in Frage stellst? Es ist okay, wenn man seine Entscheidungen überprüft. Man muss aber auch damit aufhören können. Deine Delimiter sind inhaltlich in guter Gesellschaft. Sie sind nicht falsch. Sie sind richtig genug. Bleib dabei.

Rolf

--
sumpsi - posui - obstruxi