lehrerbibliothek.deDatenschutzerklärung
PHP 5 - Das Update Alle Neuerungen der PHP-Version 5 auf einen Blick
PHP 5 - Das Update
Alle Neuerungen der PHP-Version 5 auf einen Blick




Jörg Krause

Carl Hanser Verlag
EAN: 9783446229495 (ISBN: 3-446-22949-3)
247 Seiten, kartoniert, 17 x 24cm, September, 2004

EUR 14,90
alle Angaben ohne Gewähr

Umschlagtext
Webprogrammierer, die PHP bereits von der Vorversion her kennen, benötigen aufgrund ihrer Erfahrung für den Umstieg auf Version 5 oft kein komplett neues, umfassendes Handbuch. Stattdessen wünschen sich viele einen kompakten Band ohne langatmige Grundlagen- und Einführungskapitel.



Genau das leistet dieses Buch. Es informiert den PHP-Programmierer, der PHP 4 bereits kennt, über die Neuerungen der Version 5. Hierzu gehören u.a. neue Module wie Tidy und Reflection, neue Bibliotheken für die Unterstützung von XML und MySQL 4, die neuen objektorientierten Features sowie die neue, fest in PHP integrierte Datenbank SQLite.



Der Autor stellt die Neuerungen jedoch nicht nur vor, indem es die Funktion nennt. Vielmehr legt er großen Wert auf die Darstellung ihrer Wirkungsweise. Hierfür entwickelte er Beispiele, die zeigen, wie die neuen Techniken in der Praxis angewendet werden.



Die Highlights:

• Alle neuen OOP-Funktionen

• Die Standard PHP Library (SPL)

• Ausnahmebehandlungen mit try/catch

• SQLite

• Die neue MySQL-Erweiterung MySQLi

• DOM-XML, XSLT und XPath

• XML-Verarbeitung mit SimpleXML

• Streams, Wrapper und Filter

• Tidy

• XML-Webservices (SOAP-Server und -Client)

• Das Werkzeug Reflection



Die Zielgruppe:

Programmierer von PHP-basierten Webanwendungen, die sich schnell über die Neuerungen in PHP 5 informieren wollen.



Der Autor:

Jörg Krause ist Softwareentwickler und Trainer und gehört zu den PHP-Autoren der ersten Stunde. Sein Buch "PHP 5 - Grundlagen und Profiwissen" zählt zu den deutsch-sprachigen PHP-Standardwerken.



Im Internet:



www.php.comzept.de



Beispiele aus dem Buch und Aktualisierungen.
Rezension
In gewohnt guter Qualität bietet Jörg Krause in diesem Buch Informationen über die Änderungen und Neuerungen in der neuen PHP Version 5. Mit seinen 247 Seiten ist das Buch natürlich bei weitem nicht mit dem umfassenden Buch "PHP5 - Grundlagen und Profiwissen" zu vergleichen, aber das ist auch nicht die Intention dieses Buches. Es will erfahrenen PHP Programmierern kurz und gut aufgebreitet die neuen Elemente in PHP5 darstellen, und das gelingt ihm äußerst erfolgreich. Bei zielgerichtetem Interesse spart man sich mit diesem Buch als PHP Programmierer nicht nur Zeit, sondern auch Geld, ohne dabei jedoch an Qualität einzubußen.

Jona Liebl, lehrerbibliothek.de
Verlagsinfo
Nicht jeder, der PHP bereits kennt, benötigt für den Umstieg ein komplettes Handbuch. Oft tut es ein Leitfaden, der ohne viel Schnickschnack einen kompakten Überblick über die Neuerungen gibt.

Genau das leistet dieses Buch. Behandelt werden neue Variablen, Methoden und Keywords für sichereren Code, neue Bibliotheken für die Unterstützung von XML und MySQL, die neuen objektorientierten Features sowie die neue, PHP-eigene Datenbank SQLite.

Diese Neuerungen in PHP 5 stellt der Autor aber nicht bloß vor, indem er die Funktion beschreibt. Vielmehr legt er großen Wert auf die Darstellung ihrer Wirkungsweise. Die hierfür entwickelten Beispiele zeigen dem Leser, wie es geht und wo der Unterschied zu Methoden der bisherigen PHP-Version 4 liegt.
Inhaltsverzeichnis
Vorwort 5

Inhaltsverzeichnis 7

1 Überblick 13

1.1 Wie dieses Buch zu lesen ist 15
1.1.1 Symbole als Wegweiser 15
1.1.2 Schreibweisen und Satz 15
1.1.3 Website zum Buch 17
1.2 Themen des Buches 17
1.2.1 Objektorientierte Programmierung 17
1.2.2 Standard PHP Library 17
1.2.3 Ausnahmebehandlung (Exceptions) und Fehleranalyse 18
1.2.4 SQLite 18
1.2.5 MySQLi 18
1.2.6 DOM-XML und SimpleXML, XSLT und XPath 18
1.2.7 Streams, Wrapper und Filter 19
1.2.8 Tidy 19
1.2.9 XML-Webservices 19
1.2.10 Reflection 19
1.3 Neue und überarbeitete Funktionen 19
1.3.1 Neues bei den Array-Funktionen 20
1.3.2 Veränderte Array-Funktionen 24
1.3.3 Kodierungen, Dekodierung und HTTP 25
1.3.4 PHP 27
1.3.5 Dateifunktionen 30
1.3.6 Zeichenkettenfunktionen 30
1.3.7 Datumsfunktionen 31
1.4 Erweiterungen bestehender Bibliotheken 33
1.4.1 GD2 33
1.5 Sonstige Erweiterungen: __autoload() 35

2 Objektorientierte Programmierung 37

2.1 Neuigkeiten im Überblick 39
2.2 Die neuen Prinzipien 39
2.2.1 Zugriffsmodifikatoren 40
2.2.2 Definitionen in der Klasse: $this und self:: 41
2.2.3 Objekte initialisieren: Konstruktoren 41
2.2.4 Objekte zerstören: Destruktoren 42
2.2.5 Direkter Zugriff auf Klassen – Statische Mitglieder 43
2.2.6 Vererbung 44
2.2.7 Schnittstellen 47
2.2.8 Entwurfsmuster 49
2.2.9 Serialisierung von Objekten 53
2.2.10 Objekte klonen 56
2.2.11 Iterationen über Objekte 58
2.2.12 Hinweise auf den Typ eines Parameter-Objekts 66
2.2.13 Eigenschaftszugriff mit __get() und __set() 67
2.2.14 Universeller Methodenaufruf mit __call() 69
2.3 Analyse und Kontrolle von Objekten 70
2.3.1 __METHOD__ 70
2.3.2 Zeichenkette mit __toString() erstellen 71
2.3.3 Informationen über die Abstammung 72

3 Die Standard PHP Library (SPL) 75

3.1 Die Iteratoren der SPL 77
3.2 Anwendungsbeispiele 78
3.2.1 Arrays 78
3.2.2 Verzeichnisse 79
3.2.3 Rekursiver Verzeichniszugriff (RecursivDirectoryIterator) 79
3.2.4 SimpleXML-Knotenauflistungen 81
3.3 Übersicht Klassen und Schnittstellen 82

4 Fehlerbehandlung und Ausnahmen 85

4.1 Fehlerbehandlung 87
4.1.1 Die Fehlerbehandlungskonzepte 87
4.1.2 Laufzeitfehler 87
4.2 Die Fehlerklasse Exception und try/catch 89
4.2.1 Ausnahmesteuerung: Benutzerdefinierte Laufzeitfehler abfangen 89
4.2.2 Einfache Fehlerbehandlungen 90
4.2.3 Die Klasse Exception 91
4.2.4 Praktischer Einsatz der Fehlerbehandlung 93
4.3 Fehlersuche mit XDebug 94
4.3.1 XDebug aktivieren 95

5 Das Datenbankmodul SQLite 99

5.1 SQLite 101
5.2 Der SQLite SQL-Dialekt 101
5.3 Die SQLite-Funktionen 105
5.4 Ein Datenbankprojekt mit SQLite 107
5.4.1 Vorbereitung 107
5.4.2 Ein Weblog mit SQLite 107

6 Datenbankzugriff mit MySQLi 113

6.1 Basis-Funktionen für MySQLi 115
6.2 Neue MySQL-Funktionen mit MySQLi 115
6.2.1 Änderungen und Besonderheiten 115
6.2.2 Was beim Umstieg zu beachten ist 115
6.2.3 MySQLi in der Welt von PHP5 116
6.3 Beispiele 117
6.3.1 Vorbereitungen 117
6.3.2 Verbindung aufnehmen 118
6.3.3 Abfragen der Datenbank 119
6.3.4 Anweisungen vorbereiten 120
6.4 Übersicht MySQLi-Modul 124
6.4.1 Objektorientierte Sicht 124
6.4.2 Die prozeduralen Funktionen 128

7 XML, XPath und XSLT 131

7.1 Extensible Markup Language – XML 133
7.1.1 Die XML-Welt in PHP5 133
7.1.2 DOM-XML von Grund auf programmieren 134
7.1.3 SimpleXML 149
7.1.4 XML, HTML und XHTML 152
7.2 XML mit XPath abfragen 154
7.2.1 XPath praktisch verwenden 154
7.2.2 DOM-Klassen und -Methoden im Zusammenhang mit XPath 156
7.3 XSLT – XML transformieren 158
7.3.1 XSLT mit PHP anwenden 158
7.3.2 Die XSLT-Funktionen in PHP 165
7.3.3 XSLT mit PHP-Funktionen erweitern 165

8 Streams, Wrapper und Filter 169

8.1 Kundenspezifische Wrapper 171
8.1.1 Einführung 171
8.1.2 Eingebaute Wrapper 171
8.2 Eigene Wrapper entwickeln 173
8.2.1 Verknüpfung von Stream-Aktionen und Elementarfunktionen 173
8.2.2 Die Wrapper-Klasse entwickeln 174
8.2.3 Probleme 175
8.2.4 Der Datenbank-Wrapper 176
8.3 Filter 184
8.3.1 Integrierte Filter 184
8.3.2 Eigene Filter schreiben 186

9 Besseres HTML mit Tidy 189

9.1 Sauberes HTML mit der Tidy-Bibliothek 191
9.2 Tidy vorbereiten 191
9.3 Tidy im Einsatz 191
9.3.1 Optionen vorbereiten 191
9.3.2 Weitere Tidy-Funktionen 198
9.3.3 Knotenelement mit Tidy verarbeiten 199

10 XML-Webservices und SOAP 203

10.1 Webservices (SOAP)205
10.2 Einen SOAP-Client erstellen 205
10.2.1 Google als Webservice nutzen 205
10.2.2 SOAP in PHP5 nutzbar machen 206
10.2.3 Ein SOAP-Client für Googles Webservice 207
10.2.4 Die Klasse SoapClient 212
10.3 SOAP Server mit PHP5 216
10.3.1 Vorbemerkungen 217
10.3.2 Prinzip eines SOAP-Servers 219

11 Die Reflection API 225

11.1 Die Reflection-API 227
11.2 Die Reflection-API als Objektmodell 227
11.3 Anwendung der Reflection-API 228
11.4 Die Reflection-Klassen im Detail 229
11.5 Erweiterungen untersuchen 238
11.6 Spezielle Techniken 240

Index 243

An den Autor 247