Hauptmenü

Untermenü

PHP - Grundlagen - Programmierstile - PHP in HTML

1. Ja, ich weiß

In großen (und auch leider in kleinen) Anwendungen wird heutzutage konsequent mit wie auch immer gearteten Template-Systemen gearbeitet. Seien es nun solche wie das Monster Smarty, oder vlibTemplate bzw. Savant sowie vernünftige Lösungen wie XSLT. Dies ist aber eigentlich immer erst der zweite Schritt, nachdem man sich intensiv mit PHP vertraut gemacht hat. Für Anfänger tun sich damit einige Problem auf. Standards hin, Standards her.

2. Das Problem

Wie soll man denn nun seinen PHP-Code in ein HTML-Dokument einbinden? Da, wo man es gerade braucht? Oder sollte man doch den benötigten HTML-Code per PHP erzeugen? Nun denn, so werde ich euch mal meine Ansicht zu diesem Thema kundtun, auch wenn andere Programmierer das Gegenteil behaupten werden.

3. PHP-Code in HTML

... ist meiner Meinung dann in Ordnung, wenn es einfach und übersichtlich ist. Also zum Beispiel bei der Festlegung von value-Werten in Formularen, Oder bei einfachen Anweisungen.


<input type="text" name="bla" value="<?php echo $_POST['bla'];?>">
<h1><?php echo $headline;?></h1>

4. Bloß nicht

Bei vielen Anfängern findet man sehr oft Codebeispiele wie dieses:


<div class="inhalt">
  <table>
<?php
  $open fopen ('blubb.txt');
  while ($line fgets ($open"r"))
  {
    $trenn explode (';'$line);
?>
  <tr>
    <td><?php echo $trenn[0]; ?></td>
    <td><?php echo $trenn[1]; ?></td>
    <td><?php echo $trenn[2]; ?></td>
  </tr>
<?php
  }
?>
  </table>
</div>

Davon rate ich euch dringenst ab! Meine ersten Gehversuche in PHP sahen genauso aus. Und glaubt mir jetzt einfach mal. Das ist das Falscheste, was ihr machen könnt. Besonders bei verschachtelten Schleifen oder Bedingungen wird der Quellcode extrem unübersichtlich. Und bei Fehlern sucht ihr euch da wirklich einen Wolf.

4. Vielleicht so?

Obigen Code kann man auch mit PHP wesentlich übersichtlicher gestalten. Dabei nutzt man einfach die Möglichkeiten der Zeichenkettenverknüpfung und arbeitet mit einfachen Zeilenumbrüchen.


<div class="inhalt">
  <table>
  <?php
    $open fopen ('blubb.txt');
    while ($line fgets ($open"r"))
    {
      $trenn explode (';'$line);
      echo '<tr>
              <td>'.$trenn[0].'</td>
              <td>'.$trenn[1].'</td>
              <td>'.$trenn[2].'</td>
            </tr>';
    }
  ?>
  </table>
</div>

Dies ist besonders bei den schon oben erwähnten Schleifen oder Bedingungen sehr hilfreich. Und glaubt mir, damit spart ihr euch eine Menge Ärger.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt