PHP/Tutorials/Templates/Einführung

Aus SELFHTML-Wiki
< PHP‎ | Tutorials‎ | Templates
Wechseln zu: Navigation, Suche


Trennung der Zuständigkeiten[Bearbeiten]

Nach dem Grundsatz der separation of concerns sollten Inhalt und Darstellung einer Webseite getrennt werden. Auch innerhalb Ihrer PHP-Skripte können Sie den Code je nach Aufgabe in verschiedene Dateien strukturieren. So können Sie immer wiederkehrende Elemente wie den Seitenkopf, die Navigation und den Footer als Vorlage definieren und dann von der Seite aufrufen, bzw. einbinden. So können Änderungen an der Seitenstruktur zentral erfolgen.

Ausgabe von HTML[Bearbeiten]

Prinzipiell ist es möglich, HTML-Markup mit echo() auszugeben. Allerdings führt dies schnell zu Herausforderungen beim Nesting der Anführungszeichen, es hindert Editoren am richtigen Code-Highlighting, und es ist schlecht lesbar.

Abgesehen davon verleitet es dazu, dass EVA-Prinzip zu ignorieren und die Erzeugung der Daten und die Ausgabe zu vermischen.


Beispiel: schlechtes Codebeispiel
<?php
  echo '<div id="user_profile">';
  echo '<h2>' . $user['name'] . '</h2>';
  echo '<img src = "' . $user['profile_picture'] . '" class="profile-pic">';
  echo '</div>';
?>


Beispiel: gutes Beispiel
<div id="user_profile">
    <h1><?php = $user['name']; ?></h1>
    <img src = "<?php = $user['profile_picture']; ?>" class="profile-pic">
</div>

Dieses Beispiel …

  • ist übersichtlicher
  • hat sauber eingerücktes HTML-Markup
  • IDEs stellen HTML mit Syntax-Highlighting dar
  • der Unterschied zwischen HTML-Markup und PHP-Code wird viel deutlicher


Trennung von Verarbeitung und Ausgabe[Bearbeiten]

Deshalb sollten Sie Geschäftslogik (Verarbeitung) von Darstellungslogik (Ausgabe) trennen und ihre PHP- und HTML-Dokumente so übersichtlicher und damit wartungsfreundlicher gestalten.

Beispiele für Geschäftslogik:

  • Verbindung zu einer Datenbank und Abruf von Daten
  • Speichern von Dateien
  • Berechnungen
  • Verarbeitung von Formularen

Beispiele für Darstellungslogik:

  • Tabellenzeilen abwechselnd farbig gestalten
  • Formular anzeigen
  • Variablen ausgeben

Fazit[Bearbeiten]

Ein so strukturierter und nach Zuständigkeiten getrennter Code in mehreren Dateien …

  1. hat kleinere Dateigrößen
  2. ist aufgeräumter und übersichtlicher, sodass …
  3. Fehler leichter gefunden werden können
  4. bestimmte Teile leichter gefunden werden können, wenn man den Aufbau der Webseite kennt.
  5. kann im Design verändert werden ohne Rücksicht auf die Geschäftslogik