:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Hinweise zur Benutzung des Buches: SELFPHP - Das PHP Kochbuch |
Zielgruppe
Sie sind interessiert daran, Ihre bisherigen Kenntnisse in PHP zu vertiefen? Sie stoßen öfter auf Problemsituationen in der Umsetzung bei der PHP-Programmierung? Sie würden gerne schlanke und effiziente Lösungen für gewisse Aufgaben programmieren, aber der Ansatz dazu fehlt Ihnen? Sie sind Anfänger bis Profi in PHP?
Wenn Sie auch nur eine der Fragen mit einem »Ja« beantworten konnten, so sind Sie für dieses Buch der ideale Adressat.
Im Buch selbst werden eine Vielzahl von PHP-Problemstellungen erklärt und mit Beispielen sowie den passenden Ausgaben unterlegt. Damit Sie alle Beispiele bequem ausprobieren können, finden Sie jeweils am Ende eines Beispiels alle PHP-Dateien, Bilder, Textdateien sowie Datenbanken. Probieren Sie ruhig alle Beispiele aus, und modifizieren Sie den Quellcode nach Ihren Bedürfnissen.
Sicherlich hätte man die Beispiele auch wesentlich kompakter programmieren können. Manche Beispiele bieten sich regelrecht an, aus Ihnen Klassen zu machen. Der Autor will aber nicht zeigen, wie toll man programmieren könnte, sondern gerade unerfahrenen Programmierern den Weg zum Ziel weisen. Sie selbst können und sollten die Beispiele modifizieren und anpassen – nur so werden Sie ein Gefühl für die Programmierung und die Lösungswege bekommen.
Dieses Buch wartet nicht mit ein paar hundert Beispielen in ebenso vielen Kapiteln auf, sondern zeigt gezielt Lösungen für immer wiederkehrende Fragen. Wir haben bewusst darauf verzichtet, Ihnen hier Beispiele zu zeigen, die bereits mit einer Zeile Programmcode erledigt werden könnten.
Falls Sie dennoch eine Lösung suchen, finden Sie hier auf SELFPHP die Befehlsreferenz und das Praxisbuch von SELFPHP. Beides zusammen umfasst ca. 1150 Buchseiten und sollte eigentlich jedes Problem lösen können.
|
Themenumfang
Der Themenumfang des Buches SELFPHP - Das PHP Kochbuch gliedert sich in folgende Hauptkapitel:
- Zum Buch
- Datumsberechnungen
- Formulare
- Variablenüberprüfung/Reguläre Ausdrücke
- Webseitenlayout
- Dateien
- Verzeichnisse
- Komprimieren/Archivieren/Backups
- Dies & Das
- CURL – Die Verbindung zur Außenwelt
- PHP & Shell
- Verschlüsselung/Prüfsummen
Sämtliche Skripte (Listings) in diesem Buch wurden sorgfältig ausgearbeitet und getestet. Dabei wurden als Systeme ein Linuxund Windows-XP-Rechner genutzt, welche innerhalb eines Netzwerks miteinander verbunden waren. Alle Skripte wurden über den WindowsRechner per Browser gestartet. Die Skripte wurden auf dem Webserver ausgeführt und unterschieden sich nur durch die Dateiendung (*.php oder *.php5). Somit wurde entweder PHP4 oder PHP5 ausgeführt.
System:
- Linux/x86
- Apache Webserver 1.3.33
- PHP 4.4.2 – ServerAPI: Apache
- PHP 5.1.2 – ServerAPI: CGI
- MySQL 4.0.25
Sollten Sie dennoch Beispielskripte finden, die nicht einwandfrei funktionieren oder verbesserungsfähig sind, würde es mich sehr freuen, wenn Sie mich per E-Mail darüber informieren. Bitte schreiben Sie das Verhalten der Skripte, Ihre Serverausstattung und die darauf laufende Software mit dazu.
Beispiel:
Beispiel: MySQL-Backup über die Shell
Datei: backupDB.php
Fehlermeldung: Fatal error: Call to undefined function: glob () in /www/users/ test_php/getimagesize.php on line 2
System: Linux SuSE 10.1
Server: Apache Webserver 1.3.20
PHP: PHP 4.3.0 als Modul einkompiliert
Datenbank: MySQL 3.22.32
Eventuelle Verbesserungen:
Für die Korrespondenz steht Ihnen folgende E-MailAdresse zur Verfügung:
kochbuch@selfphp.de
|
Schreibweise/Parametererklärung bei Funktionsaufrufen
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.
|
|
|
|
|
|
|