Einführung I

Auszug aus: "PHP KOMMANDO" ©® (rev. 0.1b)
© 2004-2011 simon@plan9.at (simon.bauer@ufg.ac.at)

 

PHP ist eine Skriptsprache, die wie Javascript in HTML Quellcode eingebunden werden kann.
Im Gegensatz zu Javascript wird der eingebundene Quellcode (source code) aber serverseitig verarbeitet
und nicht am Rechner des Benutzers (client-seitig).

Kurz erwähnt “der Anfang von PHP”: PHP entstand ca. 1994 und bestand damals aus einer Reihe
von Perl Skripts, die als “Personal Home Page”-Package (“PHP”) herausgegeben wurden. Danach
entwickelte sich PHP als eigenständige Skriptsprache. Da PHP "open-source" ist, sprich quelloffen,
kann auch jede/r Veränderung am Code selbst tätigen.


Vorteile von PHP:

  • Kompatibel, sprich kein Plug-in nötig wie bei Flash oder Silverlight,
    da im Endeffekt nur eine “HTML” Seite an den Client geschickt wird, die
    zuvor am Server erstellt wurde; Inkompatibilitäten werden größtenteils aus
    der Welt geschafft, da z.B. keine Plug-ins auf der Client-Seite laufen müssen.
  • Großer Funktionsumfang für den Webbereich und leicht erlernbar
  • Plattform unabhängig (Linux, Windows, OSX, Irix, Solaris,...)
  • Der Source-Code (Quellcode), also die Programmierung der Skripts, kann Client-Seitig nicht
    eingesehen werden - im Gegensatz z.B. zu Javascript (uU. dadurch mehr Sicherheit)
Vergleichbare serverseitige "Webprogrammiersprachen" sind z.B.:
  • ASP (Active Server Pages
  • SSJS (Server Side Javascript, Netscapes Antwort auf ASP)
  • Perl (Pratical extraction and report language)
  • Cold Fusion (Macromedia - von Adobe übernommen)
  • Java Servlets und JSP (von Sun entwickelt)
  • Python etc.
  • Ruby


"Clientseitige Sprachen/Programme/Appletes" wären:
  • ActiveX-Controls (mit Visual Basic, Visual C++, C#, .NET-Framework allgemein etc.) erstellt
    (meist nur für den Internet-Explorer geeignet, da wenige Browser ActiveX-Controls unterstützen)
  • Java Applets (in Java geschrieben)
    Das Java-Runtime Environment (JRE) muss am Client installiert sein
  • Javascript / “Dynamic HTML”, "HTML5"
  • Flash/Shockwave, Silverlight,...

Da PHP ja vom Server interpretiert wird und dann erst das Ergebnis an den Client geliefert wird,
lässt sich PHP am besten mittels einer XAMP(P)-Umgebung lernen, die gleichzeitig eine vollwertige
"Hosting-Umgebung" darstellt. Dass der Client und der Server am gleichen Rechner laufen,
sollte bei der Entwicklung ja kein Nachteil sein. Ansonsten bieten fast alle Webspace-Provider
günstig geeignete Pakete, die PHP unterstützen.

PHP Scripts werden wie Javascript-Befehle durch bestimmte Tags begrenzt: Mit spitzer-Klammer-auf, Fragezeichen und "php" wird das PHP-Script eingeleitet und mit Fragezeichen und spitzer-Klammer-zu abgeschlossen. Dazwischen befinden sich die PHP-Befehle.

Wenn der Webserver also eine Anfrage (Request) für eine Webseite erhält (z.B. für die Datei test.php), die auch PHP-Code enthält, interpretiert der "PHP-Interpret"/Parser eben alle Befehle (Statements), die sich zwischen dem öffnenden-PHP-Tag  und dem schließenden-PHP-Tag  befinden. Dieser Vorgang wird direkt am Server vor der Seitenauslieferung an den Client durchgeführt.

 

Die Ausgabe (das Ergebnis) dieser PHP-Befehle wird dann an der Stelle eingefügt, an der sich vorher die PHP-Befehle befanden. Die so entstandene (HTML-)Datei wird an den Webserver (zB Apache) zurückgeliefert. Erst dann sendet der Webserver die Seite an den Webbrowser des Clients (zB Firefox), der die weitere clientseitige Verarbeitung (Ausgabe) übernimmt ("rendering").

 

Ausgabe Beispiele per php-Befehl "echo":

ZB über Echo werden Daten ausgegeben. Hier noch einige zusätzliche Beispiele:

$myname "Frank";
echo 
$myname// gibt Frank aus
echo "Tabulator: \t99"// \t setzt einen Tabulator
echo "mehr-
zeiliger
text"
;

echo 456//Ausgabe: 456 numerisch

// \n schaltet in die nächste Zeile (
ist im HTML-Code zu verwenden)

echo 
"Neue Zeile \nhier"
echo 
"Neue Zeile
hier"

echo "Zusam" "men"// Ausgabe: Zusammen
echo "Zusam";
echo "men";             // Ausgabe auch: Zusammen

echo 
$myname " Black"// Ausgabe: Frank Black, Verknüpfung durch den "." Operator

 

 

Weil der Server die Abarbeitung der Befehle übernimmt, nennt man dies(e) eben Server-Side(-Scripting-Language). Javascript z.B. ist eine Client-Side-Scripting-Language, da erst der lokale Webbrowser die Javascriptbefehle beim abarbeitet interpretiert.


Je nachdem wie der Web-Server konfiguriert ist, interpretiert er nur Dateien, die die Deteiendung .php haben. Es gibt aber auch Server, die .html oder .htm Dateien auf PHP-Code überprüfen (parsen).


Andere Server verwenden zB. .php4 bzw. .php5, .php6 um die geeignete Version des PHP-Interpreten die Datei analysieren und auswerten zu lassen.


Sprich .php4 wird mit dem PHP Version 4 Interpret "geparst" und .php6 mit einem der Version 6.

Je nachdem stehen unterschiedliche Möglichkeiten der Programmierung zur Verfügung bzw. gibt es Unterschiede in der Kompatibilität der Skripts.  Ein für PHP6 geschrieben Skript, das Neuerungen der Sprache verwendet, kann meist nicht fehlerfrei mit einem PHP4 Interpret verarbeitet werden. 

 

 

 

 

Ergänzende und vertiefende Module