Aloha ;)
Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht.
Auch hier lässt sich die Parallele zu PHP ziehen: Sobald in deinem PHP-Code HTML auftaucht, hast du was falsch gemacht.
Nein, vollkommen falsch. So einfach kannst du die Parallele eben nicht ziehen. Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht. Nicht "sobald in deinem jsp-Code HTML auftaucht...".
In jsp ist es durchaus gelegentlich vertretbar, HTML-Code zu verwenden. Und da PHP die Funktion von Java und jsp übernimmt kann man hier definitiv keinen so einfachen Vergleich ziehen.
Bspw. bei
<?php echo '<p>' . $foo . '</p>'; ?>
oder<?php echo "<p>$foo</p>"; ?>
HTML-Code gehört in die Template-Engine (die in diesem Fall auch mit PHP läuft):
<p><?php echo $foo; ?></p>
oder kurz<p><?= $foo ?></p>
Darin kann es auch einfache Kontrollstrukturen geben (Abfragen, Schleifen – vorzugsweise in der alternativen Schreibweise), genau die Mächtigkeit, die eine Template-Engine wie Smarty auch bietet:
Vollkommen richtig, der Sache nach hast du ja auch Recht. Es ist nur eben die Parallele, die an der Stelle nicht zieht - weil du dazu PHP auf den Teil einschränken müsstest, der ausschließlich Geschäftslogik darstellt, und dazu auch wieder davon ausgehen müsstest, dass ein entsprechendes Pattern eingesetzt wird. In PHP kann man MVC o.ä. einsetzen, muss das aber nicht (anders als mit JSP, wo alles andere nicht der Architektur entspricht). Also vorsicht mit den zu einfachen Vergleichen.
Z.B. ist es in PHP - selbst wenn man MVC verwendet - oftmals gar nicht so ganz so eindeutig abzugrenzen, wo die Grenze zwischen View und Controller liegt, also auch gar nicht so einfach abzugrenzen, wo der Einsatz von HTML nun legal ist und wo eher nicht. Und wenn man kein MVC verwendet und das auch nicht möchte, da kann man gar keine so rechte Aussage treffen.
Ich bin kein Freund davon, ohne rechte rationale Begründung Leuten vorzuschreiben, wie sie ihren Code zu gestalten haben - schon gar nicht aufgrund abstrakter Prinzipien. Man kann gerne begründete Empfehlungen abgeben, mehr aber auch nicht.
Grüße,
RIDER