dedlfix: Pro/Contra Smarty

Beitrag lesen

Tach!

Man muss ja PHP nicht komplett lernen, um Templates damit schreiben zu können. Den Aufwand, die Template-Engine-Syntax zu lernen und die vergleichbaren PHP-Elemente, betrachte ich nicht als allzu unterschiedlich.

Bei PHP käme da erschwerend hinzu, ohne Kenntnis der Sprache zu entscheiden, welchen Teil der Sprache man lernen müsste. Da sieht man schnell den Wald vor lauter Bäumen nicht.

Dasselbe könnte man auch von Smarty behaupten. Auch da ist viel Zeugs dabei, das man nicht als Grundlage benötigt. Andererseits ist genau der benötigte Teil von PHP üblicherweise der Start-Teil von Einstiegstutorials: etwas ausgeben, Variablen verwenden, Kontrollstrukturen.

man hat Schleifen und if-else-Kontrollstrukturen.

Natürlich sollte eine Template-Engine soetwas haben – für Ausgabelogik. Sowas wie

<nav>
	<ul>
	{foreach $menuitems as $menuitem}
		<li>
			<a
			{if $menuitem.isCurrentPage}
				aria-current="page" tabindex="0"
			{else}
				href="{$menuitem.url}"
			{/if}
			>
				{$menuitem.title}
			</a>
		</li>
	{/foreach}
	</ul>
</nav>

will man mit einer Template-Engine tun können.

Wer ist man und warum will der das? Ein Frontend-Ersteller, der keine PHP-Kenntnisse hat oder ein PHP-Entwickler, der all die Spachelemente auch in PHP vorfindet oder noch ein anderer?

also das gute alte EVA-Prinzip - aber Smarty bietet auch an, Strings als Tempate-Quelle zu verarbeiten, und es hindert mich auch nicht daran, mitten im V-Teil mal eben schnell ein Template ausgeben zu lassen und dann mit der Verarbeitung der Daten fortzufahren.

Da gehört ja schon kriminelle Energie dazu, das zu tun.

Und dabei hab ich noch nicht mal all die Möglichkeiten aufgezählt mit Smarty chaotische Templates und ebensolche Ausgaben zu erzeugen.

dedlfix.