quakenet:#php Tutorial

Author: Progman, zuletzt bearbeitet von progman @ 2005/03/23 13:33:30

Bitte beachten Sie, dass die Tutorialkapitel zusammenhängen. Wenn sie direkt auf ein Kapitel verlinkt wurden müssen Sie gegebenenfalls die vorherigen Kapitel auch lesen. Achten Sie beim lesen darauf, dass Sie kein Kapitel überspringen.

Wie lese ich das Manual

  1. Das Manual auf php.net
  2. Wie finde ich Hilfe zu einer Funktion?
  3. Aufbau einer Funktionsbeschreibung
  4. Funktionsbeschreibung von strlen()
  5. Wie suche ich in Zukunft nach Funktionsnamen?

1. Das Manual auf php.net

Auf http://www.php.net/ gibt es ein Handbuch zu PHP, auch Manual genannt. Dieses Handbuch enthält einmal die grundlegenen Sachen wie Variablen und Ausdrücke, aber auch, und was viel wichtiger ist, eine Liste mit Funktionen und deren Funktionsbeschreibung, die in PHP standardmäßig vorhanden sind. Die Funktionen sind in Gruppen zusammengefasst, wie zum Beispiel "String-Funktionen" oder "MySQL-Funktionen".

2. Wie finde ich Hilfe zu einer Funktion?

Es kommt oft vor, dass jemand in QuakeNet:#php/#php.de kommt und zum Beispiel einfach mal fragt "Wie sortiere ich ein Array?". Von ein paar Leuten kriegt er dann ein einziges Wort gesagen.

<User> Wie sortiere ich ein Array?
<Helfer> sort
        

Dieses sort ist alles was ihr an Infos braucht. In den meißten Fällen ist dies ein Funktionsname. Es gibt jetzt mehrere Möglichkeiten die Doku (Dokumentation) zu dieser Funktion zu bekommen.

  1. Man öffnet http://www.php.net/ und landet auf der Startseite. Oben in der Mitte gibt es ein Link Documentation. Wenn ihr da draufklickt und etwas runterscrollt seht ihr eine Tabelle, mit Formats und Languages. Ihr klickt hier in der Zeile View Online auf German. Beachtet, dass die deutsche Version in den meißten fällen etwas veraltet ist. Die engliche Version ist immer up-to-date. Ihr seht den Text "PHP Handbuch", da drunter ein paar Namen und da drunter das Inhaltsverzeichnis. Ihr sucht den Punkt IV. Funktionsreferenz. Unter diesem Punkt sind die Gruppennamen der Funktionsgruppen. Da wir ein Array bearbeiten wollen, gucken wir also unter Array-Funktionen und klicken drauf. Das was da erstmal steht müsst ihr eigentlich nicht lesen, ihr scrollt weiter runter zum Inhaltsverzeichnis. Da seht ihr alle Funktionen die was mit Arrays zu tun haben und dahinter eine kurze Beschreibung, was die Funktion macht. Wir suchen jetzt unsere Funktion sort und lesen sort -- Sortiert ein Array. Na, das wollen wir doch und klicken drauf. Somit haben wir die Funktionsbeschreibung gefunden.

  2. Wenn man die Seite http://www.php.net/ öffnet, sieht man oben rechts ein Input-Feld. Da trägt man dann den Funktionsnamen ein, hier sort, wählt in der Drop-Down-List den Eintrag Function List und klickt auf den kleinen weißen Pfeil um die Suche zu starten. Es ist auch möglich nur den Namen einzugeben und dann Enter drücken, wie man es von Suchmaschinen kennt. Man landet dann bei der Funktionsbeschreibung. Wenn die Suche nix ergeben hat, sieht man eine Liste von Funktion die so ähnlich geschrieben ist, wie die, die wir eingegeben haben. Wenn wir z.B. statt sort nun sortt eingegeben haben, wird uns einmal gesagt, dass es so eine Funktion nicht gibt und es wird gesagt, welche Funktionen so ähnlich aussieht. Und wir sehen, das dort auch unsere eigentlich gesuchte Funktion sort steht. Wenn wir dann da draufklicken gelangen wir zur Funktionsbeschreibung. Da wir bei dieser Methode auf die englische Seite gelangen, müssen wir nachher, in der Funktionsbeschreibung oben "German" auswählen, damit wir den Text in deutsch übersetzt bekommen.

  3. Die schnellste Möglichkeit die Funktionsbeschreibung einer Funktion aufzurufen ist, wenn man die URL http://www.php.net/<funktionname> benutzt, also in unserem Fall http://www.php.net/sort. Wir gelangen dann sofort, falls vorhanden, auf die Funktionsbeschreibung der gesuchten Funktion. Da diese auch wieder auf Englisch ist, klicken wir oben wieder auf "German" um die deutsche Seite zu sehen.

3. Aufbau einer Funktionsbeschreibung

Eine Funktionsbeschreibung zu einer Funktion hat immer den selben Aufbau. Zuerst sieht man, um welche Funktion es sich handelt. Da drunter stehen die Versionen in denen diese Funktion vorhanden ist. Es gibt nicht jede Funktion in jeder PHP-Version, denn PHP entwickelt sich immer weiter.

(PHP 3, PHP 4 )
        

Dies sagt uns, dass es diese Funktion in PHP3 und PHP4 gibt. Manchmal sieht man auch sowas wie folgendes.

(PHP 4 >= 4.2.0)
        

Dies sagt uns dass es die besagte Funktion nur in PHP4 gibt. Um genauer zu sein nur in PHP-Versionen größer gleich 4.2.0.

Nach der Versionsangabe kommt eine Kurzbeschreibung was diese Funktion macht. In diesem Fall sort -- Sortiert ein Array. Danach kommt die Beschreibung der Funktion. Es kommt eine Zeile, die die Parameter und Rückgabewerte der Funktion definiert. Dies sieht bei sort so aus.

void sort ( array array [, int sort_flags])
        

Links vom Funktionsnamen steht der Typ der diese Funktion zurückliefert. Hier steht void und sagt, dass diese Funktion kein Wert zurückliefert. Da könnte aber auch sowas wie bool, int oder string stehen, ja array ist auch möglich. Rechts vom Funktionsnamen sort stehen die Parameter, die man dieser Funktion übergeben kann. Dabei gibt es Parameter die Pflicht sind und es gibt Parameter die Optional sind, die also nicht übergeben werden müssen. Die Parameter die Optional sind, werden in eckigen Klammern geschrieben. Das Komma kommt natürlich in die eckigen Klammern, da man ja schlecht sort(parameter1, ); aufrufen kann. An jeder Stelle, wo die Parameter stehen, stehen 2 Wörter. Wenn statt der 2 Wörter das Wort void steht, so darf an dieser Stelle kein Parameter übergeben werden.

  1. Das 1. Wort gibt den Typ dieses Parameters an. Der 1. Parameter muss also vom Typ Array sein. Dies ist ja auch logisch, denn wir wollen ja ein Array sortieren und kein String oder eine Integer-Zahl. Beim 2. Parameter muss der Typ, falls der Parameter genutzt wird, int sein. Wenn an dieser Stelle das Wort mixed steht ist der Typ dieses Parameters nicht definiert. Welcher Typ dann letzendlich übergeben darf gibt die Funktionsbeschreibung später preis.

  2. Das 2. Wort gibt an, wie dieser Parameter genannt wird. In diesem Fall wird der erste Parameter der Funktion array und der zweite, optionale Parameter sort_flags genannt. Diese Namen werden auch in der Funktionsbeschreibung weiter verwendet.

Ohne das wir jetzt wissen, was diese Funktion macht, müssen die Aufrufe der Funktionen zum Beispiel so aussehen.

<?php
    $array
= array(5,23,6,8,3);

    
$zahl = 20;

    
/* richtig */

    
sort($array);
    
sort($array, 20);
    
sort($array, $zahl); // $zahl ist vom Typ int, also gültig

    /* falsch */

    
sort(); // Der 1. Parameter fehlt
    
$var = sort($array); // Diese Funktion liefert kein Wert zurück
    
sort(4, 4); // der 1. Parameter ist kein Array
    
sort($array, $ein_anderes_array); // Der 2. Parameter muss eine Zahl sein.
    
sort($array, 5, "bla", $bla, 3.4);
    
// Diese Funktion erwartet nur maximal 2 Parameter, nicht 5
?>

Dies sind Beispiele wie es richtig wäre und wie es falsch wäre, die Funktion aufzurufen.

Nach der Definition der Parameter und des Rückgabewerts kommt die eigentliche Funktionsbeschreibung der Funktion. Diese Funktionsbeschreibung kann sich auf die Namen der Parameter beziehen, wenn es z.B. heißt Der Parameter blabla macht dies und das. Die Namen der Parameter werden im Text kursiv dargestellt, damit man sie vom Text unterscheiden kann. Die Funktionsbeschreibung enthält auch Beispielecodes und Beispielausgaben die, die Funktionsweise der Funktion verdeutlichen soll.

Unter der Funktionsbeschreibung sieht man eine Menge von Links. Diese Links zeigen auf andere Funktionsbeschreibungen und auf Einträge im Handbuch, die zur aktuellen Funktion passen. Zum Beispiel die Funktion rsort ähnelt sehr der Funktion sort denn sie sortiert das Array wie sort() nur in umgekehrter Reihenfolge.

Da drunter sind die User Contributed Notes. Dort sind Antworten von Programmierer, die etwas zu dieser Funktion zu sagen haben wie Hinweise, Beispiele und weiterführende Erklärungen. Diese sollte man überfliegen. Wichtig ist dabei die Zeitangabe wann ein User etwas gesagt hat, denn zu diesem Zeitpunkt gab es andere PHP-Versionen und vielleicht bezogen die sich damals auf die damals aktuelle PHP-Version.

Beachten sie, dass die deutsche Version des Manuals nicht so auf den neusten Stand wie die englische Version ist. Deswegen solltet ihr euch auch immer die englische Version durchlesen.

4. Funktionsbeschreibung von strlen()

Als praktisches Beispiel gucken wir uns die Funktionsbeschreibung zu strlen an. Wenn wir uns die Funktionsbeschreibung zu strlen angucken sehen wir einmal das die Funktion in PHP3 und PHP4 vorhanden ist und wir sehen folgende Funktionsdefinition.

int strlen ( string str)
        

Diese Funktion muss genau ein Parameter vom Typ string übergeben werden und liefert ein Wert vom Typ int zurück. Die Funktionsbeschreibung erkärt auch warum. Hier ein Beispiel

<?php
    $string
= "ein String";
    
$zahl = strlen($string);
    echo
"Der String ist ".$zahl." lang";
    
    
$zahl = strlen("bla"); // $zahl hat den Wert 3
    
strlen("blabli");
    
/* Dies erzeugt kein Fehler
       Diese Funktion liefert zwar die Zahl
       6 zurück, doch diese Zahl wird nirgenswo
       gespeichert. Dies ist Möglich.   

       Doch man kann nicht den Rückgabewert
       einer Funktion in eine Variable speichern oder
       diese direkt ausgeben, obwohl die Funktion
       garnix zurückgibt. z.B.:

       $foo = printf('foobar');

       Dies wird nicht gehen
    */

?>

Unten sieht man wieder die üblichen User Contributed Notes.

5. Wie suche ich in Zukunft nach Funktionsnamen?

Manchmal wollt ihr etwas mit einer Variable machen und wisst nicht, wie die Funktion dazu heißt. Dann gibt es 2 Möglichkeiten die richtige Funktion zu schreiben.

Fragen zum aktuellen Thema

  1. Keine Fragen
Keine Fragen

Für dieses Thema gibt es keine Übungsfragen

Nach oben