Upline: Infos & Dokus Programmierung php

PHP - Grundlagen


Um php nutzen zu können, muss die entsprechende Datei einfach nur auf .php enden. Je nach Einstellung in den Konfigurationsdateien des Webservers kann eventuell auch php3, php4 oder php5 als Dateiendung genutzt werden, um eine spezifische php-Version auszuwählen. php bietet den großen Vorteil, dass man im Quelltext problemlos zwischen html und php umschalten kann. Ein php-Bereich wird durch <?php ... ?> eingeschlossen, alternativ kann auch die Kurzform <? ... ?> verwendet werden.

Textausgabe - Strings mit php ausgeben

Um Text auszugeben, kann man entweder vom php-Source wieder zurück auf html schalten oder die entsprechenden php-Befehle zur Textausgabe nutzen. Hierbei handelt es sich um echo und printf. Aus dem ersten Beispiel kann man die verschiedenen Möglichkeiten der Textausgabe mit dem echo-Befehl herleiten. Wichtig ist hierbei die Unterscheidung zwischen einfachen und doppelten Anführungszeichen. Letztere nutzt man, wenn man einfach alles innerhalb ohne weitere Auswertung ausgeben möchte. Die einfachen Anführungszeichen ermöglichen es, dass man damit den Inhalt von Variablen direkt innerhalb eines Strings ausgeben kann, indem man diese Variablen an der gewünschten Stelle einbaut. Strings werden in php mit einem Punkt zusammengesetzt. So erhält man z.B. mit echo "a"."b"; die Zeichenfolge "ab".


Variablen in php - lokale und globale

In jeder Programmiersprache muss man immer wieder Werte speichern, dafür gibt es die Variablen. In php müssen Variablen nicht extra definiert werden, kennt der Webserver eine Varible nicht, so wird er diese einfach neu anlegen und hierbei den Dateitypen verwenden, der für den übergebenen Wert zutreffend ist. Somit ist es in php nicht zwingend notwendig, eine Variable zu typisieren, in einigen Fällen macht dies allerdings durchaus Sinn. Um eine Variable nachträglich umzudefinieren, verwendet man den Befehl settype, so kann man z.B. mit settype($i,integer); eine Variable $i als Integer definieren. Jede Variable - ganz gleich welchen Typs - beginnt in php mit einem "$". Viele der Grundregeln im Umgang mit Variablen sind von C/C++ übernommen worden, so dass auch in php die verkürzten Additionen "+=", das Hochzählen mit "++" usw. möglich sind. Um Variablen auch innerhalb von (verschiedenen) Funktionen nutzen zu können, verwendet man die Ausdrücke global bzw. static. Standardmäßig sind Variablen des Hauptquellcodes nur lokal definiert und gelten auch nicht innerhalb von functions des selben Scriptes. Alles weitere sollte man an Hand von dem unten angeführten Beispiel und eigenen Experimenten herausfinden.

Funktionen - function xyz();

Mit Hilfe von Funktionen kann man Teilbereiche des php-Quelltextes auslagern, um auch bei größeren Projekten die Chance zu haben, dort noch durchzublicken. Direkt hinter function steht der Name, der Inhalt der Funktion wird wie auch in C/C++ üblich mit geschweiften Klammern "{ ... }" eingeschlossen. Bei den Funktionen sollte man darauf achten, was man für Variablen verwendet und wie diese definiert sind.

Beispiel-Sourcecode für Variablen und Textausgabe

Das php-Grundlagen-Beispiel

<html>
 <body>
  <?php
   function ausgabe(){
    global $zahl;	//Variable als global definieren
    echo $zahl;
   }
   function zaehle(){
    
    static $i=0;	//Variable als statisch (immer vorhanden) definieren
    echo $i." ";
    $i++;
   }
   echo "Ein erster php-Test<br>";
   echo "die 2. Zeile<br>";
   $a=33;		// a als Integer def., Bereich -2147482648 bis +2147482647
   $a=0123;		// oder oktal
   $a=0x21;		// oder hexa   
   echo "integer a=".$a."<br>";
   $b=-9.483;// b als float   
   echo "float b=".$b."<br>";
   $c="string-variable";	// c als string
   echo "string c=$c<hr>";
   echo "$b ist ein float<br>";
   echo '$b ist ein float<br>';
   $bool=false;	// boolsche Variable in php
   echo "bool=".$bool."<br>";
   $bool=true;
   echo "bool=$bool<br>";
/* ein paar weiterführende Dinge
 Arrays, index als Z. (indiziert) o. als Name (assoziativ)
 objects - oop, also klassen und instanzen
 mit gettype VarTyp auslesen, mit settype setzen
 mit is_double($var), is_string($var),is_integer($var) Abfrage nach
  Typ und boolsche Rückgabe
 mit isset($var) bekommt man boolsche Rückgabe, ob Variable vorhanden
 mit empty($var) boolsche Rückgabe, ob $var vorhanden und nicht leer

 Konstanten definieren: define konst,"Inhalt";echo konst;
*/
   $var=12;
   $var=$var+"5 Stück";
   echo "Addition, wenn Zeichenkette als ersten Teil Zahl enthält,".
        "wird der Rest ignoriert:<br> $var, Variablentyp: ".
	gettype($var)."<br>";
   $var=12;
   $var=$var."5 Stück";
   echo "Zeichenketten-Addition, 2.Kette wird einfach nur angehängt:".
        "<br> $var, Variablentyp: ".gettype($var)."<hr>";
   $zahl=98765;
   echo "function ausgabe() aufrufen ... ";
   ausgabe();
   echo "<br><br>function zaehle() aufrufen ... ";
   for($z=1;$z<20;$z++)zaehle();
  ?>
  <hr><a href="/index.php/4405001/">php Grundlagen</a>
 </body>
</html>

Das Ergebnis

erg00 - Grundlagen (Variablen, Textausgabe, 2 Mini-Funktionen und eine for-Schleife)