PHP/PHP und HTML

Aus Mikiwiki
< PHP
Version vom 15. Februar 2013, 23:37 Uhr von Michi (Diskussion | Beiträge) (→‎Kommentare)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

PHP und HTML

PHP wird im Gegensatz zu normalen CGI-Programmen nicht als eigenständiges Programm ausgeführt, das HTML selbst produzieren muss. HTML wird nicht in PHP eingebettet, sondern PHP in HTML. Die Syntax von HTML bleibt dabei unverändert.

Die Dateien heissen dann typischerweise nicht mehr ".html" oder ".htm", sondern ".php" oder ".php3" - jede HTML-Datei kann einfach mit der Endung ".php" versehen werden. Jetzt wird der Webserver die Datei bei einem Aufruf nicht direkt an den Webbrowser senden, sondern zuerst an den PHP-Prozessor übergeben (dieser arbeitet entweder als im Webserver als Modul oder als externes CGI-Programm). Der PHP-Prozessor arbeitet die Datei nun von oben nach unten ab. Reine HTML-Seiten wird er unverändert wieder zurückgeben - ausser der höheren Belastung des Servers ist davon nichts zu bemerken. Finden sich in der Datei PHP-Anweisungen, so werden diese erkannt, ausgewertet und ausgeführt.

Javascript stellt eine Möglichkeit dar, die statischen HTML-Seiten zu dynamisieren. Dadurch ist eine Reaktion auf Mausbewegungen wie bei Rollover-Effekten oder Tool-Tip-Maps möglich. Javascript-Skripte können auch über PHP ausgegeben werden.

PHP in HTML einbinden

Von den vier möglichen Arten der Einbindung von PHP in eine Seite, ist nur der XML-konforme Stil wirklich sinnvoll.

<?php
## Hier steht der PHP-Code
?>

Eine optisch eindeutige Trennung von HTML und PHP hat sich in der Praxis als sinnvoll erwiesen.

<html>
  <head>
    <title><?php echo $title; ?></title>
  </head>
</html>

<html>
  <head>
    <title>
<?php
  echo $title;
?>
    </title>
  </head>
</html>

Jede Anweisung in PHP wird mit einem Strichpunkt (";") abgeschlossen.

Nach Möglichkeit sollten PHP-Funktionen in Dateien ausgelagert werden (siehe Dateien einbinden).

Whitespace (Zeilenumbrüche, Leerzeichen, Wagenrücklauf, Tabulatoren usw.) spielen üblicherweise keine Rolle, Anweisungen können also über mehrere Zeilen verteilt werden. Im folgenden Beispiel bleiben allerdings die Zeilenumbrüche in den Zeichenketten erhalten (sichtbar im Quelltext der entstehenden HTML-Seite).

<?php
echo "Hier ist ein
      wenig
      Text ausgegeben
      worden";
?>

Kommentare

Kommentare dienen zur Erläuterung des Programmcodes. Auch das kleinste Programm sollte sauber kommentiert werden.

Kommentare im HTML-Code werden zum Webbrowser mit übertragen, sind also im Quelltext der erzeugten HTML-Seite sichtbar.

<!-- Hier wird der HTML-Quelltext,
      auch über mehrere Zeilen, kommentiert -->

Mehrzeilige PHP-Kommentare werden üblicherweise mit "/*" eingeleitet und mit "*/" abgeschlossen. Einzeilige Kommentare können entweder mit den aus Unix-Shellskripten bekannten Kommentarzeichens "#" oder mit den aus Java und C-Derivaten bekannten Kommentarzeichen "//" eingeleitet werden. Zu beachten ist, dass die Zeichen "/*", "*/" und "?>" innerhalb von Kommentaren zu unerwünschten Ergebnissen führen können.

Kommentare im PHP-Code werden nicht zum Webbrowser übertragen. Der Parser ignoriert diese Zeilen und entfernt sie vor der Übertragung der Seite zum Webbrowser.

<?php
/* Erste Ausgabe */
echo ("Mein 1. PHP-Skript<br />\n");
/*
Zweite
Ausgabe
*/
echo ("Mein 2. PHP-Skript<br />\n"); /* 3. folgt */
echo /* unnötiger Kommentar */ ("Mein 3. PHP-Skript<br />\n");
/* 
 * Dritte Ausgabe
 * Längere Kommentare werden oft so geschrieben und sind
 * so besser erkennbar.
 */
echo ("Mein 4. PHP-Skript /* kein Kommentar, sondern sichtbar! */<br />\n");
// Auch diese Art der Kommentierung ist möglich
# echo ("Mein 5. PHP-Skript<br />\n");
?>
Mein 1. PHP-Skript
Mein 2. PHP-Skript
Mein 3. PHP-Skript
Mein 4. PHP-Skript /* kein Kommentar, sondern sichtbar! */