Am Ende der Seite finden Sie das komplette Beispiel als Download.
Sie werden im Buch immer wieder auf Funktionen stoßen, die als Parameter
gewisse Werte erwarten und als Rückgabewert gewisse Typen (bool, string,
array etc.) liefern. Damit Sie wissen, was Sie der Funktion übergeben müssen
und was Sie zurückerhalten, werden über den Funktionen immer die Parameter
beschrieben.
Somit sind Sie in der Lage, anhand dieser Beschreibung den Aufbau der Funktion
zu erkennen – Sie müssen also nicht erraten, was an Werten benötigt wird.
Es kann bei manchen Funktionen dazu kommen, dass im Buch umgebrochen
wird, sich also der Funktionsinhalt auf zwei Zeilen befindet. Anhand der Zahlen
in der linken Spalte sehen Sie aber, dass es sich um eine Zeile handelt, die
zusammengeschrieben werden muss.
Beispiel einer Funktion
01:
02: 03: 04: 05: 06:
07: 08:
09 |
function scan_dir($dir, $type=array(), $allFiles=FALSE, $recursive=TRUE, $nextrow, $onlyDir="")
{ // Hier steht irgendein Programmcode // Hier steht irgendein Programmcode // Hier steht irgendein Programmcode // Hier steht irgendein Programmcode // Hier steht irgendein Programmcode
} scan_dir("Bilder/",$fileTyp,TRUE,FALSE,TRUE);
|
Wenn Sie sich die Funktion genauer betrachten, dann wird sie Ihnen erst einmal
nicht viel sagen. Sie werden allenfalls aus den Parametern gewisse Hinweise
beziehen können. Jetzt müssten Sie sich den Quellcode in der Funktion anschauen,
um sehen zu können, was für Typen jeweils benötigt werden. Das
mag zwar bei kleineren Funktionen relativ schnell gehen, aber denken Sie
einmal weiter und stellen Sie sich große Funktionsblöcke vor.
Die Typen dann herauszufinden, kann schnell sehr zeitraubend sein. Gewöhnen
Sie sich am besten immer an, jeweils einen Kommentarblock über die Funktion
zu schreiben und die Parameterwerte sowie den Rückgabewert zu deklarieren.
Auch eine kurze Beschreibung zu der Funktion selbst ist immer recht hilfreich
und erspart Ihnen in Zukunft eine Menge Einarbeitungszeit, denn wenn Sie
z. B. nach einem Jahr mal wieder an den Quellcode heran müssen, haben Sie
in der Regel vieles vergessen. Dann hilft Ihnen diese Gedankenstütze bei den
Funktionsblöcken.
Nachfolgend sehen Sie ein Beispiel für einen solchen Kommentarblock. Die
einzelnen Werte sowie Parameter schauen wir uns nach dem Beispiel etwas
genauer an.
01:
02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
21: |
/** * Durchläuft bei Bedarf rekursiv das zu durchsuchende Verzeichnis *
* @param string $dir Pfad zum Verzeichnis
* @param array $type aufzulistende Bildtypen
* @param bool $allFiles Listet alle Dateien in den
* Verzeichnissen auf ohne Rücksicht
* auf $type
* Default:FALSE
* @param bool $recursive Durchläuft rekursiv alle
* Verzeichnisse und
* Unterverzeichnisse
* Default:TRUE
* @param string $nextrow Enthält den Verzeichnisnamen für die
* Überschrift über den Bildernamen
* @param string $onlyDir="" Enthält als Verweis(Referenz) den
* Inhalt der Verzeichnisstruktur *
* @return mixed false im Fehlerfall, ansonsten ein
* Array mit allen Dateinamen */
|
Am Anfang des Kommentarblocks steht ein Einzeiler, der beschreibt, was die
Funktion macht. In diesem Fall ist dies völlig ausreichend, da der Satz so mehr
als aussagekräftig ist. Sie sollten immer so viel schreiben, wie nötig ist, um die
Funktion zu verstehen.
Interessant wird es jetzt bei den folgenden Aufzählungen. Wie Sie sehen,
besteht jede Zeile aus vier Bereichen, außer wenn eine Zeile umbricht, wie z. B.
bei „Listet alle Dateien in den Verzeichnissen auf“.
- @param: Im ersten Bereich steht hier in unserem Fall @param – dies sagt
uns, dass es sich um einen Parameter handelt, der innerhalb der Funktion
benötigt wird.
- Typen (string, array, int, bool etc.): Im zweiten Bereich steht jeweils der
Typ des Parameters. Folgende Werte könnten z. B. dort auftauchen:
1. array – es wird ein Array als Parameter benötigt.
2. double – als Parameter wird eine Fließkommazahl gefordert.
3. float – als Parameter wird eine Fließkommazahl gefordert.
4. int – als Parameter wird eine Ganzzahl gefordert.
5. string – als Parameter wird eine Zeichenkette gefordert.
6. bool – als Parameterwert wird »true« oder »false« erwartet.
7. resource – als Parameter wird eine Referenz auf eine externe Ressource
gefordert.
8. object – als Parameter wird ein Objekt benötigt.
- Parameternamen: Hier steht lediglich der zu beschreibende Parametername.
- Text: Der letzte Block erklärt kurz, wofür der Parameter benutzt wird und
ob er eventuell schon mit Werten vorbelegt ist.
Sie sehen in der letzten Zeile einen Ausdruck, der noch nicht erklärt wurde.
Dabei handelt es sich um den Rückgabewert der Funktion.
- @return: Dabei handelt es sich um den Rückgabewert der Funktion. Folgende
Typen werden z. B. zurückgegeben:
1. array – es wird ein Array zurückgegeben.
2. double – eine Fließkommazahl wird zurückgegeben.
3. float – eine Fließkommazahl wird zurückgegeben.
4. int – eine Ganzzahl wird zurückgegeben.
5. string – eine Zeichenkette wird zurückgegeben.
6. bool – als Wert wird »true« oder »false« zurückgegeben.
7. object – ein Objekt wird zurückgegeben.
8. void – die Funktion gibt nichts zurück.
9. mixed – je nach Funktionsabarbeitung kann es dazu kommen, dass
verschiedene Typen zurückgegeben werden können. Falls z. B. ein Fehler
auftreten sollte, kann hier »false« zurückgeliefert werden. Im Erfolgsfall
wird die Funktion aber ein Array liefern oder vielleicht einen String. Je
nachdem, was Sie bezwecken wollen, kann hier der Typ variabel sein.
Zurück zur Übersichtsseite
|