Sonntag, 1. November 2015

Oktober 2015 - PHP

In der Schule im "Modul 133 - Web Applikation realisieren" habe ich, nach JavaScript und  HTML5, nun auch mit PHP zu tun.


PHP ist eine serverseitig interpretierte Skriptsprache, clientseitig gibt es also keine weiteren Voraussetzungen als einen Webbrowser. Die Abkürzung PHP steht für "PHP: Hypertext Preprocessor". PHP wird hauptsächlich für dynamische Websites sowie Webanwendungen in Kombination mit einer Datenbank verwendet (z.B. User Login). Die aktuelle Version ist die 5.6.15 und die Syntax ist an C angelehnt. Zudem ist PHP plattformunabhängig.


Funktionsweise

PHP-Code wird serverseitig verarbeitet, das heisst, der Quelltext wird nicht direkt an den Webbrowser (Client) gesendet, sondern an einen Interpreter auf dem Webserver. Die Ausgabe des interpretierten PHP-Codes wird dann erst an den Client gesendet. Das ist meistens ein HTML-Dokument, kann aber auch einem anderen Dateityp angehören.
Der Webserver muss einen Dienst installiert haben, auf dem PHP ausgeführt werden kann. Häufig wird hier auf Apache oder auf den IIS zurückgegriffen. In Kombination mit Apache wird dann meistens MySQL als Datenbanksystem verwendet. Zum Testen und Entwickeln eignet sich am besten XAMPP, welches wir auch in der Schule benutzten, da bei dieser Anwendung schon alles Notwendige vorkonfiguriert ist und man nur noch die einzelnen Dienste starten muss.


Funktionsweise













Da PHP-Code, welcher normalerweise in einer Webserver-Umgebung läuft, immer zuerst durch den Interpreter des Webservers interpretiert werden muss, wird die Reaktionsgeschwindigkeit des Servers gesenkt. Zudem wird ein PHP-Skript vom Interpreter bei jedem Aufruf erneut abgearbeitet. Das bedeutet, jede PHP-Seite belastet den Webserver. Um dem entgegen zu wirken, gibt es verschiedene sogenannte PHP-Beschleuniger. Das sind Programme, welche die Ausführungsgeschwindigkeit erhöhen sollen. Da ein PHP-Skript zuerst in einen Bytecode übersetzt wird bevor er ausgeführt wird, ist es auch notwendig, dass das Skript bei jedem Aufruf in einen Bytecode übersetzt wird. Der PHP-Beschleuniger zwischenspeichert nun den generierten Bytecode, so dass er beim nächsten Aufruf auf diesen zurückgreifen kann und der Bytecode nicht erneut generiert werden muss. Ab PHP Version 5.5 ist ein solcher PHP-Beschleuniger bereits integriert.




Praktische Verwendung

PHP-Skripte werden in .php-Dateien gespeichert. Diese enthalten PHP-Code, können aber, was oftmals der Fall ist, auch HTML-Code enthalten. Aufgebaut wird die Datei wie eine normale .html-Datei. Der PHP-Code muss allerdings zwischen "<?php" und  "?>" stehen. Der Interpreter führt dann nur den Code zwischen "<?php" und  "?>" aus, der Rest des Codes wird dann als HTML (oder anderen Skriptsprachen wie JavaScript) interpretiert.
Am Schluss jedes PHP-Befehls steht ein Semikolon.

Beispiel eines PHP-Skripts mit HTML-Code:

<!DOCTYPE HTML>
<html>
    <head>
        <title>Beispiel</title>
    </head>
    <body>
        <?php
            echo 'Hallo Welt!';
        ?>
    </body>
</html>
Mit dem "echo"-Befehl wird in diesem Beispiel der Text "Hallo Welt" im Browser ausgegeben


Variablen

Auch in PHP gibt es Variablen. Die Variablen sind jedoch nicht, wie in vielen anderen Sprachen, streng typisiert. Es gibt zwar auch in PHP Datentypen, diese müssen aber nicht bei der Variablendeklaration angegeben werden. Variablen werden definiert, indem vor dem Namen der Variable ein $-Zeichen gesetzt wird:

$name = "Max";  
    
$alter = 30;   
Wenn der Inhalt der Variable ein String ist, muss dieser in Anführungszeichen gesetzt werden, handelt es sich aber um eine Zahl, wird diese einfach so angegeben.

Den Inhalt der Variable kann man dann zum Beispiel so ausgeben:

echo "Name: " . $name . "\nAlter: " . $alter;  

Die Ausgabe sieht dann folgendermassen aus:

       Name: Max       
       Alter: 30


Das "." dient in PHP dazu, einzelne Strings miteinander zu verbinden. 
Wird ein "\n" gemacht, wird an dieser Stelle ein Zeilenumbruch gemacht.
In PHP ist auch folgende Darstellung im Code möglich:

echo "Name: $name\nAlter: $alter";  

Dies ergibt die genau gleiche Ausgabe im Browser.

In PHP muss aber zwischen einfachen Anführungszeichen (') und doppelten Anführungszeichen (") unterschieden werden. Der Inhalt in doppelten Anführungszeichen wird von PHP ausgeführt, während der Inhalt in einfachen Anführungszeichen vom Browser genau so ausgegeben wird, wie er im Code steht.

echo 'Name: $name\nAlter: $alter';  

Im Browser würde dann folgendes ausgegeben werden:

                Name: $name\nAlter: $alter


Vordefinierte Variablen

In PHP gibt es eine Reihe vordefinierter Variablen. Man erkennt sie an dem "_" nach dem $-Zeichen und anhand des Variablennamens, der immer komplett grossgeschrieben ist.

Beispiele:

$_SERVER['PHP_SELF']
Dateiname des ausgeführten PHP-Skripts.

$_SERVER['REMOTE_ADDR']
IP-Adresse des Computers, der die Seite aufgerufen hat.

$_SERVER["HTTP_HOST"]
Domainname

$_SERVER["REDIRECT_URL"]
Die ursprünglich aufgerufene URI.


Verzweigung

Auch in PHP gibt es die Möglichkeit der Verzweigung mittels "if/else"-Bedingung.
Dazu stehen einem unter anderem folgende Operatoren zur Verfügung:

Operator Bedeutung
== gleich
=== gleich (auch vom Variablentyp - String, Boolean, Integer)
!= ungleich
<> ungleich, ist identisch mit !=
< kleiner
<= kleiner oder gleich
> größer
>= größer oder gleich

 Beispiel:

if ( $name == "Max" )
{
    echo "Dies ist Max";
}
else
{
    echo "Dies ist sonst jemand...";
}

Keine Kommentare:

Kommentar veröffentlichen