PHP - Einstieg für Anspruchsvolle
von: Andreas Barchfeld
Addison-Wesley Verlag, 2005
ISBN: 9783827321817
Sprache: Deutsch
487 Seiten, Download: 7478 KB
Format: PDF, auch als Online-Lesen
Inhaltsverzeichnis | 6 | ||
Vorwort | 12 | ||
1. Installation und Konfiguration | 16 | ||
1.1 XAMPP | 16 | ||
1.2 Binärinstallation für den IIS | 18 | ||
1.2.1 PHP | 18 | ||
1.2.2 IIS | 21 | ||
1.3 Binärinstallation Apache/PHP unter Windows | 24 | ||
1.3.1 Installation des Apache-Servers | 24 | ||
1.3.2 Konfiguration des Apache-Servers | 29 | ||
1.3.3 Apache auf der Befehlszeile (auch als Dienst) | 38 | ||
1.4 Installation aus den Quellcode-Dateien | 42 | ||
1.4.1 Apache-Installation unter Linux | 43 | ||
1.4.2 PHP-Installation unter Linux | 46 | ||
1.4.3 PHP-Installation unter Windows | 50 | ||
1.5 PEAR-Installation | 58 | ||
1.5.1 Installation per Browser | 59 | ||
1.5.2 Kommandozeilen-Installation | 64 | ||
2. Erste Schritte | 68 | ||
2.1 Was ist PHP? | 69 | ||
2.1.1 Ein Überblick | 69 | ||
2.2 Programmaufruf | 71 | ||
2.3 Aufbau eines Skripts | 77 | ||
3. Variablen und ihre Datentypen | 98 | ||
3.1 Überblick | 98 | ||
3.2 Was ist eine Variable? | 98 | ||
3.3 Variablennamen | 99 | ||
3.4 Variable Variablennamen | 102 | ||
3.5 Vordefinierte Variablen | 104 | ||
3.6 Konstante Werte | 108 | ||
3.7 Variablendeklaration | 111 | ||
3.8 PHP-Datentypen – eine Übersicht | 116 | ||
3.9 Der logische Datentyp BOOLEAN | 118 | ||
3.10 Logische Operatoren | 121 | ||
3.11 Vergleichsoperatoren | 126 | ||
3.11.1 Die Operatoren > und >= | 127 | ||
3.11.2 Die Operatoren < und <= | 129 | ||
3.11.3 Die Operatoren = = und = = = | 131 | ||
3.11.4 Die Operatoren != und != = | 133 | ||
3.12 Der Datentyp Integer | 134 | ||
3.13 Der Datentyp Fließkomma | 139 | ||
3.14 Mathematische Operationen | 141 | ||
3.14.1 Unäres Plus/Addition | 142 | ||
3.14.2 Unäres Minus/Subtraktion | 144 | ||
3.14.3 Multiplikation | 145 | ||
3.14.4 Division/Restdivision | 147 | ||
3.14.5 Inkrement/Dekrement | 149 | ||
3.15 Zusammengesetzte Operatoren | 153 | ||
3.16 Mathematische Funktionen | 155 | ||
3.16.1 Rechengenauigkeit | 159 | ||
3.17 Zeichenketten | 163 | ||
3.18 Heredoc – Zeichenketten | 171 | ||
3.19 Zeichenketten-Operatoren | 174 | ||
3.20 Zeichenketten – Funktionen | 175 | ||
3.20.1 strlen(): Länge einer Zeichenkette | 176 | ||
3.20.2 trim(), ltrim(), rtrim: Leerzeichen entfernen | 176 | ||
3.20.3 strtok(), explode(): Zeichenketten aufteilen | 177 | ||
3.20.4 join(), implode(): Zeichenketten zusammenführen | 180 | ||
3.20.5 number_format(): Zahlen formatieren | 181 | ||
3.20.6 str_word_count(): nicht nur Wörter zählen | 183 | ||
3.20.7 printf(), sprintf(): formatierte Ausgabe | 184 | ||
3.20.8 soundex(), similar_text(): Textähnlichkeiten | 187 | ||
3.20.9 md5(), crc32(): Checkwerte berechnen | 190 | ||
3.20.10 strtolower(), strtoupper() | 191 | ||
3.20.11 strstr(), stristr(), strchr(), strrchr(): Teilketten | 192 | ||
3.20.12 strpos(), strrpos(): Textposition | 193 | ||
3.20.13 strrev(): Textumkehrung | 195 | ||
3.20.14 strcmp(), strncmp(), strcasecmp(): Zeichenkettenvergleich | 195 | ||
3.21 Datentypen bestimmen und setzen | 197 | ||
4. Programmstrukturen | 204 | ||
4.1 Verzweigungen | 205 | ||
4.1.1 Die if-Abfrage | 205 | ||
4.1.2 Die if-else-Abfrage | 209 | ||
4.1.3 Die if-else-if-else-Abfrage | 211 | ||
4.1.4 Das tenäre if | 216 | ||
4.1.5 Die switch-Anweisung | 217 | ||
4.2 Schleifen | 221 | ||
4.2.1 Die zählergesteuerte Schleife | 221 | ||
4.2.2 Die Schleife mit Startbedingung | 230 | ||
4.2.3 Die Schleife mit Schlussbedingung | 233 | ||
4.3 Funktionen | 236 | ||
4.3.1 Funktionsdefinition | 237 | ||
4.3.2 Funktionen ohne Argumente | 238 | ||
4.3.3 Funktionen mit Argumenten | 239 | ||
4.3.4 Gültigkeitsbereich von Variablen | 242 | ||
4.3.5 Statische Variable | 245 | ||
4.3.6 Referenzen | 246 | ||
4.3.7 Funktionen als Variable | 249 | ||
4.3.8 Variable Anzahl von Funktionsargumenten | 251 | ||
4.4 Einbinden externer Programmdateien | 252 | ||
5. Arrays | 256 | ||
5.1 Eindimensionale Arrays | 257 | ||
5.2 Mehrdimensionale Arrays | 266 | ||
5.3 Abschließendes Beispiel | 276 | ||
6. Dateien und Verzeichnisse, Streams | 280 | ||
6.1 Verzeichniszugriff | 281 | ||
6.1.1 Das aktuelle Verzeichnis ermitteln | 281 | ||
6.1.2 Verzeichnisangaben zerlegen | 282 | ||
6.1.3 Verzeichnisinhalte über Funktionen bestimmen | 284 | ||
6.1.4 Verzeichnisinhalte über Objekte bestimmen | 289 | ||
6.1.5 Nur der Name interessiert | 290 | ||
6.1.6 Verzeichnisse erstellen und löschen | 291 | ||
6.1.7 Verzeichnisse rekursiv durchlaufen | 294 | ||
6.1.8 Ein Verzeichnis mit einem Iterator durchlaufen | 298 | ||
6.1.9 Verzeichnisse rekursiv mit Iteratoren durchlaufen | 302 | ||
6.2 Dateizugriff | 304 | ||
6.2.1 Dateiberechtigungen als Zeichenkette | 305 | ||
6.2.2 Dateiinhalt in ein Array einlesen | 308 | ||
6.2.3 Dateien über File-Handle lesen | 311 | ||
6.2.4 CSV-Dateien lesen | 316 | ||
6.2.5 Datei schreiben | 318 | ||
6.2.6 Dateien als Array bearbeiten | 321 | ||
6.2.7 Lesen und Schreiben in gepackte Dateien | 323 | ||
6.2.8 Mit Dateisperren arbeiten | 325 | ||
6.2.9 Schreiben in die syslog-Datei ( Linux ) oder in das Ereignisprotokoll ( Windows ) | 329 | ||
6.2.10 Dateien auf einen Webserver hochladen | 333 | ||
6.3 Streams | 341 | ||
6.3.1 Installierte Stream-Wrapper | 341 | ||
6.3.2 Dateien über Streams bearbeiten | 342 | ||
6.3.3 Webseiten lesen | 343 | ||
6.3.4 Webseiten „schreiben“ | 344 | ||
6.3.5 Stream-Metadaten | 347 | ||
6.4 Dateien und externe Programme | 348 | ||
6.4.1 Betriebssystembefehle ausführen | 349 | ||
6.4.2 Externe Befehle mit Ein- und Ausgabe | 350 | ||
6.4.3 Betrachtungen zur Sicherheit | 352 | ||
7. Objektorientierte Programmierung | 358 | ||
7.1 Die ersten Klassen | 359 | ||
7.2 Statik | 366 | ||
7.2.1 Statische Variablen | 366 | ||
7.2.2 Statische Methoden | 369 | ||
7.2.3 Klassenkonstante | 371 | ||
7.2.4 Beispielanwendung | 372 | ||
7.2.5 Objekte kopieren | 374 | ||
7.2.6 Polymorphismus von Klassen | 378 | ||
7.2.7 Type Hint | 381 | ||
7.2.8 Abstrakte Klassen | 381 | ||
7.2.9 Assoziationen | 384 | ||
7.3 Zusammenspiel der Objekte | 387 | ||
7.3.1 Aufbau des Informationssystem | 388 | ||
7.3.2 Die Klasse Person | 389 | ||
7.3.3 Die Klasse AufenthaltContainer | 396 | ||
7.3.4 Die Klasse Aufenthalt | 398 | ||
7.3.5 Die Klasse Diagnose | 400 | ||
7.3.6 Die Klasse Abrechnung | 403 | ||
7.3.7 Das zusammengesetzte Puzzle | 405 | ||
7.4 Die Klasse HTML_QuickForm | 412 | ||
7.5 Einsatz von phpDocumentor | 417 | ||
8. MySQL | 420 | ||
8.1 MySQL installieren | 421 | ||
8.1.1 Linux | 421 | ||
8.1.2 Windows | 423 | ||
8.2 phpMyAdmin installieren | 426 | ||
8.3 Datenbank erstellen | 428 | ||
8.4 Tabellen erstellen | 430 | ||
8.5 Verbindungen zwischen PHP und MySQL | 433 | ||
8.5.1 Verbindung öffnen, funktionaler Weg | 433 | ||
8.5.2 Objektorientierte Verbindung ohne Optionen | 436 | ||
8.5.3 Objektorientierte Verbindung mit Optionen | 438 | ||
8.6 Daten lesen | 440 | ||
8.7 Daten einfügen | 443 | ||
8.8 Daten updaten | 451 | ||
8.8.1 Update-Auswahl | 451 | ||
8.8.2 Daten holen und verändern | 454 | ||
8.8.3 Daten wieder abspeichern | 457 | ||
9. XML | 462 | ||
9.1 SimpleXML | 466 | ||
9.1.1 Lesen ohne Namensraum | 466 | ||
9.1.2 Lesen mit Namensraum | 467 | ||
9.2 Speichern von SimpleXML-Daten | 469 | ||
9.3 XML-Datei mit DOM lesen | 470 | ||
9.4 XML-Tags direkt über DOM lesen | 473 | ||
9.4.1 Ohne Namensraum | 473 | ||
9.4.2 Mit Namensraum | 475 | ||
9.5 XML-Datei erstellen | 477 | ||
Stichwortverzeichnis | 480 |