Programmieren lernen in PHP 5 -  Jörg Krause

Programmieren lernen in PHP 5 (eBook)

(Autor)

eBook Download: PDF
2004 | 1. Auflage
400 Seiten
Carl Hanser Fachbuchverlag
978-3-446-22926-6 (ISBN)
Systemvoraussetzungen
19,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen Skriptsprache für alle diejenigen, die ihre ersten dynamischen Webseiten erstellen wollen.

Am Anfang des Buches steht die Beschäftigung mit der Sprache. Vorgestellt werden Elemente wie Variablen, Datentypen, Konstanten, Funktionen, Arrays und Objekte sowie die Erweiterungen der in PHP 5 neuen OOP-Funktionen. Auf dieser Grundlage lassen sich -zusammen mit Webtechnologien wie HTML, JavaScript, Webformulare und Cookies - bereits erste einfache Webanwendungen erstellen.

Den zweiten Teil bestimmen dann fortgeschrittene Themen. Dazu zählt neben Features wie FTP-Zugriff, Reguläre Ausdrücke und Grafikprogrammierung vor allem die Datenbankanbindung. Hierbei kommen MySQL und die neue, in PHP integrierte Datenbank SQLite zum Einsatz, die ausführlich vorgestellt werden. Auf diese Weise lassen sich leistungsfäh ige dynamische Websites erstellen.

Das Buch richtet sich explizit an Leser, die über nur sehr wenige Programmiererfahrung verfügen und einen kompakten Einstieg in PHP 5 suchen. Es zeichnet sich durch die zahlreichen Beispiele sowie seine Schritt-für-Schritt-Anleitungen aus und ist so der ideale Begleiter für die ersten Schritte mit PHP 5. 

Schnellübersicht 6
Vorwort 8
Inhaltsverzeichnis 10
1 Vor dem Start 18
1.1 Wer sind Sie? 20
1.2 Hinweise zum Buch 20
1.2.1 Schreibweisen im Buch 21
1.2.2 Wichtige Symbole 21
1.2.3 Was nicht aufgeführt wurde 21
1.2.4 Navigationshilfen 22
1.3 Installation 22
1.3.1 LAMP 22
1.3.2 WAMP 23
1.3.3 WPMP 23
1.3.4 WIMP 23
1.3.5 Andere Server 23
1.4 Softwarequellen 24
1.5 Hilfe im Web 24
1.6 Website zum Buch 25
1.7 Welche PHP-Version? 25
2 Dynamik in der Webseite 26
2.1 HTML ist langweilig 28
2.1.1 Mysterium CGI 28
2.1.2 Was Webserver noch können 29
2.1.3 Hochgesteckte Erwartungen 29
2.2 Werden Sie ein guter Programmierer! 30
2.2.1 Ein wenig Theorie 30
2.2.2 Mit Paradigmen vom Problem zur Lösung 31
2.2.3 Programmieren mit Stil 32
2.3 PHP ist einfach 33
2.3.1 Sofort etwas ausprobieren 33
2.3.2 Wo wird programmiert? 34
2.3.3 Wo wird PHP abgearbeitet? 34
2.3.4 PHP und HTML 35
2.4 Erstellen und Testen 39
2.4.1 Sind Sie startklar? 39
3 Variablen und Konstanten 46
3.1 Variablen erzeugen und erkennen 48
3.2 Datentypen 49
3.2.1 Datentypen darstellen und erzwingen 50
3.3 Variablen genauer betrachtet 52
3.3.1 Verweise 53
3.4 Konstanten 53
3.4.1 Definition von Konstanten 54
3.4.2 Vordefinierte Konstanten 55
4 Rechnen und Verarbeiten 56
4.1 Zeichenketten 58
4.1.1 Zeichenkettenfunktionen 58
4.1.2 Basiswissen für Zeichenketten 59
4.1.3 Zeichenketten in der Praxis 64
4.1.4 HTML problemlos verwenden 69
4.2 Praktische Mathematik 72
4.2.1 Operatoren 72
4.2.2 Mathematische Funktionen 77
4.2.3 Funktionen beliebiger Genauigkeit 81
5 Komplexe Datenstrukturen: Arrays 84
5.1 Wie Arrays funktionieren 86
5.1.1 Eindimensionale Arrays 86
5.1.2 Sprechende Indizes: Assoziative Arrays 89
5.1.3 Mehrdimensionale Arrays 91
5.1.4 Mehrdimensionale Arrays verarbeiten 92
5.2 Die Arrayfunktionen 94
5.3 Zugriff auf Array-Elemente 95
5.3.1 Arrays durchlaufen 96
5.3.2 Mit Arrays spielen 96
5.3.3 Interessante Arrayeffekte 97
6 Das Steuerrad für PHP: Kontrollstrukturen 100
6.1 Übersicht 102
6.1.1 Strukturiertes Programmieren 102
6.1.2 Blöcke 104
6.2 Verzweigungen 105
6.2.1 Bedingungen 105
6.2.2 Bedingungen mit if auswerten 107
6.2.3 Mehrfachauswertungen mit switch 109
6.3 Schleifen 111
6.3.1 Standardschleifen mit while 111
6.3.2 Die »Mindest-Schleife« mit do ... while 113

6.3.4 Felder bestellen: foreach 117
6.4 Ordnung ins Chaos: Funktionen 119
6.4.1 Die Welt erschaffen: Funktionsdefinition 119
6.4.2 Kleine Welten: Variablen in Funktionen 120
6.5 Fehler einfangen: try@ catch 132
6.5.1 Bei Fehler: Abbiegen 133
6.5.2 Einfache Fehlerbehandlungen 134
6.5.3 Fehlerunterdrückung mit @ 134
7 Sammeltransporte: Objekte 138
7.1 Einführung in die Welt der Objekte 140
7.1.1 Das Konzept 140
7.1.2 Das erste Objekt 141
7.2 Erweiterte Techniken für Objekte 144
7.2.1 Direkter Zugriff auf Klassen 144
7.2.2 Konstruktoren und Destruktoren 145
7.2.3 Vererbung und Schnittstellen 147
7.3 Spezielle Funktionen 149
7.3.1 Methoden aufrufen 149
7.3.2 Eigenschaften von Klassen ermitteln 150
7.4 Klassenpraxis 151
7.4.1 Herausforderung: Grafik selbstgebaut 151
7.5 Eingebaut: Die Fehlerklassen 156
7.5.1 Die Klasse Exception 156
7.5.2 Praktischer Einsatz der Fehlerbehandlung 158
8 Daten bewegen: Dateisystem und FTP 162
8.1 Dateisystem 164
8.1.2 Zugriff auf Dateien 165
8.1.3 Mit Dateien arbeiten 180
8.2 Umgang mit Verzeichnissen 182
8.2.1 Basisfunktionen 182
8.2.2 Im Verzeichnissystem bewegen 182
8.3 Verbindungen zu Servern 184
8.3.1 HTTP-Verbindungen 184
8.3.2 FTP-Verbindungen mit Dateifunktionen 187
8.4 FTP-Funktionen 188
8.4.1 Verbindung zu FTP-Servern 188
8.4.2 Navigation im Verzeichnisbaum 191
9 Daten aus dem Browser: Formulare und Links 196
9.1 Daten aus einem Formular ermitteln 198
9.1.1 Formulare in HTML erstellen 198
9.1.2 Formularelemente analysieren 203
9.1.3 Dateiupload 208
9.2 Daten per URL weiterreichen 214
9.2.1 Wie werden Daten weitergereicht? 214
9.2.2 Probleme mit der Datenübertragung 216
9.3 Daten über den Server ermitteln 220
9.3.1 Servervariablen ermitteln 220
9.3.2 Übersicht Servervariablen 221
10 Big Brother: Sessions und Cookies 224
10.1 Wozu dienen Sessions? 226
10.2 Sessionmanagement 227
10.2.1 Wie Sessions funktionieren 227
10.2.2 Ausblick 240
10.3 Cookies 242
10.3.1 Einführung in Cookies 242
10.3.2 Cookies mit PHP verarbeiten 245
11 Datenbanken: So werden Daten gespeichert 250
11.1 Vorbemerkungen 252
11.2 Ganz universell: SQL 252
11.2.1 Grundsätzliche Konzepte 252
11.2.2 Vorbereitungen 258
11.3 Mit MySQL arbeiten 260
11.3.1 Datenbanken und Tabellen erzeugen 260
11.3.2 Mit Datenbanken arbeiten 262
11.3.3 Weitere Tabellenfunktionen 269
11.3.4 Die MySQL-Funktionen 270
11.3.5 PHP-Funktionen für MySQL 270
11.4 MySQL ganz praktisch 272
11.4.1 Vorbereiten des Projekts 272
11.4.2 Aufbau der Skripte 273
11.4.3 Die Skripte im Detail 273
11.4.4 Diskussion der Idee 284
11.5 SQLite kurz vorgestellt 285
11.5.1 Der SQLite SQL-Dialekt 285
11.5.2 Die SQLite-Funktionen 289
11.6 SQLite ganz praktisch 291
11.6.1 Das Projekt vorbereiten 291
11.6.2 Der Quellcode 292
11.6.3 Diskussion 297
12 Symbiose: PHP und JavaScript 298
12.1 Warum JavaScript? 300
12.1.1 Prinzipielle Fragen zu JavaScript 300
12.1.2 JavaScript erkennen 301
12.2 Umgang mit Formularen 303
12.2.1 Projekt: Eine Abstimmungssite 303
12.3 Gutes Zusammenspiel: Der Chat 307
12.3.1 Vorbereitung: Die Datenbank 307
12.3.2 Mehr Leistung durch JavaScript 312
13 1000 kleine Helfer: Die PHP- Funktionen 314
13.1 Übersicht 316
13.2 Hilfsdesigner: Bildfunktionen mit GD2 316
13.2.1 Bilddaten dynamisch erzeugen 316
13.2.2 Bilder dynamisch erzeugen 317
13.2.3 Umgang mit Fehlern 321
13.2.4 Weitere Bildfunktionen 322
13.3 Suchexperten: Reguläre Ausdrücke 324
13.3.1 Kennen Sie Perl? 324
13.3.2 Überall reguläre Ausdrücke 324
13.3.3 Erstellen einfacher Muster 329
13.3.4 Vom Einfachen zum Komplexen 330
13.3.5 Suchen und Ersetzen 333
13.3.6 Alle Metazeichen auf einen Blick 334
13.3.7 Funktionen für reguläre Ausdrücke 336
13.4 Zeitwächter: Datumsfunktionen 337
13.4.1 Probleme mit Datumswerten 337
13.4.2 Datumsfunktionen 338
14 Fehlersuche und Konfiguration 348
14.1 Die Informationszentrale 350
14.2 Konfiguration mit »php.ini« 351
14.3 Tipps zur Fehlersuche 362
14.4 Typische Fehler 362
14.4.1 Verwendung von printf und print 362
14.4.2 Missbrauch des Variablenersatzes 363
14.4.3 Umgang mit Variablen 363
14.4.4 Paradigmen und deren Gültigkeit 364
14.4.5 Missverstandene Kontrollstrukturen 364
14.4.6 Fehler beim Umgang mit Datenbanken 364
Anhang 366
A Listings 368
B Quickreferenz MySQL 4 374
C Empfehlungen 388
D Index 392
E An den Autor 400

2.1 HTML ist langweilig (S. 27-28)

Bevor Sie beginnen, die ersten Skripte zu schreiben, denken Sie einen Moment darüber nach, wie ein Webserver arbeitet. Wenn Sie den Browser öffnen, und eine Adresse eingeben, zerlegt der Browser diese zuerst in zwei Teile. Betrachten Sie folgende Adresse:

http://www.php.comzept.de/php-lernen/index.php

Diese Angabe besteht zum einen aus dem Protokoll: http. Dies steht für Hypertext Transfer Protocol und definiert die »Sprache«, in der Webserver und Browser miteinander reden. Danach folgt die Adresse des Servers, bestehend aus seinem eigenen Namen »www.php« und der Domäne »comzept.de«. Dieser Name wird zuerst in eine IP-Nummer, die weltweit eindeutig ist, aufgelöst. Das passiert aber transparent im Hintergrund und wird normalerweise vom Benutzer nicht wahrgenommen. Der dritte Teil enthält nun Pfad- und Dateiangaben, hier »phplernen/ index.php«. Diesen Teil sendet der Browser mit dem entsprechenden HTTP-Kommando GET an den Server. Der reagiert darauf entweder mit der Auslieferung der angeforderten Datei oder einer Fehlerinformation, wenn die Datei nicht gefunden wurde.

So war das Web ursprünglich konzipiert worden. HTML-Seiten sollten nur durch Hyperlinks verbunden werden. Das genügte, um Informationen strukturiert darzustellen und Designern eine gewisse Freiheit bei der Darstellung zu erlauben.

2.1.1 Mysterium CGI

Das Ziel einer solchen Anforderung kann auch ein Skript auf dem Webserver sein. Der Webserver ruft dann das mit der Dateierweiterung verbundene Programm auf. Dessen Ausgabe wiederum wird an den Browser gesendet. Praktisch können Sie also mit einem Skript alles kontrollieren was zum Browser geht. Die Schnittstelle zwischen Webserver und solchen Programmen zur Ausführung von Skripten ist sehr alt, sehr gut dokumentiert, sehr bekannt und sehr langsam. Ihr Name ist CGI – Common Gateway Interface. CGI selbst macht nichts. Die erste Skriptsprache, die sich CGI bediente, war Perl. Perl ist sehr weit verbreitet und kann virtuos mit Zeichen umgehen. Leider ist Perl auch sehr schwer zu erlernen und für Anfänger nicht zu empfehlen.

Mit CGI ist es möglich, die Anforderungen eines Browsers auf ein Skript umzuleiten. Solche Anforderungen können neben der Adresse einer Datei auch die Inhalte eines Formulars sein. Damit besteht nun die Möglichkeit, den Inhalt eines Formulars, das der Benutzer ausgefüllt hat, zu verarbeiten und darauf gezielt zu reagieren. Diese Reaktion kann sehr vielfältig ausfallen. Sie können das CGI-Skript veranlassen, die Daten zu überprüfen und dem Benutzer eine Fehlermeldung zurückzusenden, wenn er etwas vergessen hat. Oder Sie legen die Daten in einer Textdatei ab, die Sie sich später anschauen. Wenn Sie schon etwas professioneller programmieren, werden Sie dagegen eine Datenbank verwenden.

Über CGI wurden viele Dinge geschrieben. Ein wichtiger Kritikpunkt ist die Geschwindigkeit. CGI startet mit jeder Anforderung einen so genannten Prozess auf dem Server, also eine Instanz des Skript-Interpreters. Wenn gleichzeitig 50 Benutzer zugreifen, werden 50 Instanzen gestartet, jede mit einigen Megabyte Speicherverbrauch. Ganz realistisch muss man heute sagen, hat die Entwicklung der Hardwareressourcen diesen Nachteil fast beseitigt. 50 Megabyte Speicher sind sehr wenig und 50 gleichzeitige Besucher sind verdammt viel. PHP kann man deshalb gut – sowohl auf der Entwicklungsmaschine auch auf einem Server im Netzwerk, als CGI-Applikation laufen lassen. Damit ist auch klar, das CGI nicht gleich Perl ist, in diesem Buch ist CGI gleich PHP.

Ein anderer Nachteil ist die Arbeitsweise des Protokolls HTTP. Jede Anforderung des Browsers ist ein für sich abgeschlossener Prozess. Da CGI den Interpreter jedes mal startet und danach wieder aus dem Speicher entfernt, gehen auch alle Einstellungen verloren. Das »Wiedererkennen« des Benutzers auf der nächsten Seite stellt deshalb ein Problem dar. Dank PHP stehen dafür aber spezielle Funktionen zur Verfügung – die Sessionfunktionen. Darauf wird selbstverständlich detailliert eingegangen. Also ist auch dieser Nachteil nicht wirklich schlimm.

2.1.2 Was Webserver noch können

Webserver bieten eigene Schnittstellen. Diese sind – im Gegensatz zu CGI – von Server zu Server verschieden. Glücklicherweise gibt es heute nicht mehr sehr viele konkurrierende Webserver. In der PHP-Welt, wo Produktionsserver überwiegend unter Linux laufen und für Entwicklungsumgebungen Windows verwendet wird, dominiert der Apache Webserver, gefolgt von dem Internet Information Server von Microsoft. Beide eignen sich für den Betrieb von PHP und für beide gibt es neben der CGIVersion auch eine spezielle Variante, die auf die jeweiligen proprietären Schnittstellen zugreift. Damit beschäftigt sich dieses Buch aber nicht, weil es nicht beim Programmieren hilft und meist keinen Unterschied macht, ob das Skript mit einer Webserverschnittstelle oder CGI läuft. Die zusätzlichen Möglichkeiten der Webserverschnittstellen mögen Profis zu schätzen wissen, die eigene Server betreiben und ihre Applikationen darauf optimieren. Wenn Sie mit Ihren Skripten zu irgendeinem Provider gehen, werden Sie jedoch oft auf Server mit CGI treffen und solche optimierten Skripten funktionieren dann nicht. Beschäftigen Sie sich damit erst, wenn Sie PHP richtig gut können und ein eigener Server zur Verfügung steht.

Erscheint lt. Verlag 1.1.2004
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-10 3-446-22926-4 / 3446229264
ISBN-13 978-3-446-22926-6 / 9783446229266
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 6,2 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
49,90
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
44,90