Hallo.
Dies ist der zweite Teil des von mir gestarteten PHP Tutorial. Nach dem wir im letzten Kapitel die Grundlagen und das PHP Grundgerüst besprochen haben, werden wir uns nun weiteren Funktionen etc. widmen. So werden wir diesmal den grundlegenden Aufbau inkl. Parameter von Funktionen lernen und anwenden, die PHP Info Datei benutzen und Strings verwenden.
Bevor wir uns jedoch mit dem oben genannten beschäftigen, werde ich noch mal auf das PHP-Modul eingehen. Wir wissen nun, dass das PHP-Modul nichts weiter als ein ausführbares Programm ist. Doch fast jedes Programm hat Einstellungen bzw. Optionen. So ist das auch mit PHP. In der 'php.ini' bzw. der PHP Konfigurationsdatei, sind einzelne Funktionen aktiviert, deaktiviert oder es werden Variablen Werte zugewiesen. Je nach dem, was wir gerade vorhaben, benötigen wir eine Funktion. Sollte das jedoch eine sein, die nicht umbedingt standardmäßig aktiviert ist, kann man ganz einfach die Konfigurationsdatei übersichtlich abfragen.
Eine PHP-Datei zum Anfragen an die Konfigurationsdatei, ist sehr schnell programmiert.
<?php phpinfo(); ?>
Wenn wir diese Datei nun unter 'phpinfo.php' abspeichern und hochladen, werden wir eine sehr lange Liste mit uns noch unbekannten Wörter sehen. Wichtig ist für uns erstmal aber nur, dass diese Möglichkeit existiert und wie man sie aufruft. Sollte eine leere Seite erscheinen, ist entweder in der phpinfo()-Funktion ein Rechtschreibfehler, oder PHP ist nicht auf dem Server installiert. Ansonsten ist noch wichtig, dass die Endung unbedingt '.php' ist, so dass der Server die Datei auch als gültige PHP-Datei erkennt.
Sehen wir uns nun den Code einmal genauer an. Der Code startet - wie bei jeder Datei - mit unser beliebten Zeichenfolge <?php und ?>. Dazwischen wir eine für uns bisher unbekannte Funktion aufgerufen, die phpinfo();-Funktion. Jetzt stellt sich sicherlich der ein oder andere die Frage: Wieso hat diese Funktion am Ende eine Klammer? Nun, um mal kurz auf das letzte Kapitel zurückzukommen. Wir kennen bisher zwei Funktionen: Die echo()- und die phpinfo()-Funktion. Das erste was uns jedoch auffällt ist, das bei einer Ausgabe mit echo() die beiden Klammern fehlen:
<?php echo "Ich bin eine PHP-Datei."; ?>
Das liegt daran, das echo() eigentlich keine Funktion, sondern ein spezielles Sprachkonstrukt ist. Das PHP-Handbuch sagt dazu folgendes:
echo() is not actually a function
(it is a language construct),
so you are not required to use parentheses with it.
Der Text, der innhalb der Anführungszeichen [bzw. der Apostrophe steht], erzeugt unabhänig von echo() eine Zeichenkette [in der Fachsprache 'string' genannt], diese wird dann von echo() als Parameter genutzt und ausgegeben.
Doch was ist eigentlich genau eine Funktion bzw. ein Parameter?
Folgender Code beschreibt einen einfachen Funktionsaufruf:
<?php funktion(parameter1, parameter2, parameter3, ...); ?>
Eine Funktion, ist im Grunde nichts weiter als ein Befehl und ein Parameter ein Wert, den die Funktion benutzen soll. Das hört sich relativ komplex an, ist jedoch sehr einfach zu verstehen. Nehmen wir ein Beispiel. Wenn du jemandem sagst, er soll laufen, dann würde das reichen. Er weiß, er muss jetzt die Funktion laufen benutzen. Trotzdem ist dies sehr ungenau. Denn es ist ein Unterschied, ob du ihm sagst, er soll laufen, oder er soll mit einer Geschwindigkeit von 7.0 km/h laufen, die 3. Ausfahrt links benutzen und später einen Sprint starten. Sehr viele Funktionen können natürlich auch ohne Parameter benutzt werden [es gibt auch Funktion wie phpinfo(), die keine Parameter besitzen], jedoch sind das die Werte, mit denen die Funktion arbeitet. Da PHP eine dynamische Programmiersprache ist, das heißt auf Benutzereingabe reagiert, ist gerade das eins der wichtigsten Bestandteile in PHP.
Was genau sind Strings, und wie benutzt man sie?
Wir haben bereits gelernt, wie man eine einfache Zeichenkette ausgibt. Dazu reicht es, den Text in Anführungszeichen nach einem vorangestellten echo()-Befehl zu schreiben, die Zeile wird - wie immer - mit einem Semikolon beendet.
<?php echo "Ich bin eine PHP-Datei."; ?>
Jetzt erweitern wir dieses Script mal um ein paar weitere Zeichenketten.
<?php echo "Ich bin eine PHP-Datei."; echo "Eine weitere Zeichenkette."; ?>
Wenn wir diese Datei abspeichern und hochladen, erhalten wir folgende Ausgabe:
Ich bin eine PHP-Datei.Eine weitere Zeichenkette.
Wenn wir dieses jetzt einzelne Satzteile oder Wörter als Zeichenkette benutzen, werden so mehrere Wörter zusammengereiht. Das liegt daran, dass der echo()-Befehl keinen automatischen Umbruch erzeugt. Wenn wir einen Umbruch einfügen wollen, müssen wir uns des HTML-Tags <br /> bedienen. [Kurze Erklärung: Der <br />-Tag erzeugt einen Zeilenumbruch in HTML / XHTML.]
<?php echo "Ich bin eine PHP-Datei.<br />"; echo "Eine weitere Zeichenkette."; ?>
Wenn wir diese Datei nun hochladen, erhalten wir das gewünschte Ergebnis:
Ich bin eine PHP-Datei.
Eine weitere Zeichenkette.
Steuerzeichen in Strings
Als Steuerzeichen werden z.B. Apostrophe, Anführungszeichen, Backslashs und andere Zeichen bezeichnet, die dazu da sind PHP zu steuern.
Wenn wir versuchen ein Anführungszeichen innerhalb eines Strings zu schreiben, erhalten wir eine Fehlermeldung, da PHP nach dem zweiten Anführungszeichen den String beendet, die Zeile aber anscheinend noch weiter geht:
<?php echo "Ich bin ein Text " mit Anführungszeichen.<br />"; echo "Eine weitere Zeichenkette."; ?>
Anhand der Einfärbung kann man erkennen, das PHP nur den String bis zum 2. Anführungszeichen erkennt, danach arbeitet es der PHP Syntax nach weiter, d.h., er denkt 'mit Anführungszeichen' wäre eine Funktion, beim 3. Anführungszeichen fängt für ihn der String wieder an. Trotzdem erhalten wir eine Fehlermeldung, das liegt daran, dass nach dem ersten rot eingefärbten Text eigentlich ein Semikolon kommen müsste.
Wenn wir nun ein Anführungszeichen in einem Text verwenden wollen, können wir 'Single Quoted Strings' anstatt 'Double Quoted Stings' verwenden [diese benutzen ein Apostroph als String-Begrenzer]:
<?php echo 'Ich bin ein Text " mit Anführungszeichen.<br />'; echo 'Eine weitere Zeichenkette.'; ?>
Eine andere Möglichkeit ist, Escape-Sequenzen zu benutzen.
<?php echo "Ich bin ein Text \" mit Anführungszeichen.<br />"; echo "Eine weitere Zeichenkette."; ?>
Wenn man einen Backslash nun alleine im Text verwenden will, kann man dieses ebenfalls escapen:
<?php echo "Ein Double Quoted String mit Escape \\ im Text"; echo 'Ein Single Quoted String mit Escape \\ im Text'; ?>
Obwohl sich Single Quoted Strings und Double Quoted Strings von der Funktion her scheinbar gleichen, gibt es einige kleine Unterschiede. So sind in Double Quoted Strings mehr Escape-Sequenzen möglich, im Gegenzug sind Single Quoted Strings besser in der Performance und beschleunigen das Script ein wenig [obwohl dies nur bei min. 300 Zeichen und mehr wirklich von Bedeutung ist]. Eine Liste der zusätzlichen Escape-Sequenzen in Double Quoted Strings ist hier aufgelistet:
- \n - Zeilenumbruch [auf PHP-Basis, wird nicht durch HTML / XHTML-Tag ersetzt]
- \r - Wagenrücklauf [Verwendung oft bei Netzwerkprotokollen]
- \t - Tabulator
- \v - vertikaler Tabulator [eher selten verwendet]
- \f - Seitenvorschub [noch seltener verwendet]
- \$ - Dollarzeichen [ohne Backslash wird versucht, eine Variable zu finden]
- \0 bis \777 - Ein Zeichen aus dem Bereich von 0x000 bis 0x1FF
- \x0 bis \xFF - Ein Zeichen aus dem Bereich von 0x00 bis 0xFF
Die oberen sollten verständlich sein, zu dem $-Zeichen und den Variablen werden wir in den nächsten Kapitel näher drauf eingehen. Die letzten beiden Einträge haben etwas mit Hexidezimalzeichen zu tun und sind erstmal nicht von Bedeutung und unwichtig.
Du kennst nun den Aufbau von Funktionen und Strings, sowie Informationen über die PHP-Info Datei. In den nächsten Kapiteln werden wir uns mit dem Programmieren von Variablen beschäftigen.
[Copyright 2009-2010 by Robin Rump, robinrump.com. All rights reserved. Do not copy, edit or publish without asking author.]