Besser PHP programmieren



Ähnliche Dokumente
Webseiten entwickeln mit ASP.NET

Objektorientierte Programmierung in Java

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Helmut Dittrich Jürgen Mellenthin PHP 4-Workshop

Programmieren I. Überblick. Institut für Angewandte Informatik

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Klaus Schmidt PHP 4. Computer & Literatur Verlag GmbH

Inhaltsverzeichnis. 1 Hallo 13

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Microsoft Excel Schulungen

O REILLY. Oracle PL/SQL Programmierung Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage

Inhalt. Vorbemerkungen... 1

Grundlagen der Informatik 2

PHP Programmierung. Seminarunterlage. Version 1.02 vom

Microsoft Access Schulungen

Ausbildung zum Fachinformatiker

Nach der Installation des FolderShare-Satellits wird Ihr persönliches FolderShare -Konto erstellt.

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Inhaltsverzeichnis. Einleitung... 11

VBA-Programmierung: Zusammenfassung

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

Roberto lerusalimschy. Programmieren mit Lua

BitDefender Client Security Kurzanleitung

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press

Multimedia im Netz Wintersemester 2011/12

Java 6 lernen mit Eclipse

Dr. Nikolai Krambrock Andreas von Studnitz

Inhaltsverzeichnis. Vorwort. Basiswissen

Sachwortverzeichnis

Institut für Telematik Universität zu Lübeck. Programmieren. Kapitel 0: Organisatorisches. Wintersemester 2008/2009. Prof. Dr.

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

Teil 5: Server-Side- Programmierung

AJAX Implementierung mit Joomla!

VB.net Programmierung und Beispielprogramm für GSV

Prozedurale Datenbank- Anwendungsprogrammierung

Beschreibung des Angebotes

1. Übung zu "Numerik partieller Differentialgleichungen"

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Inhaltsverzeichnis. Apps für Android entwickeln

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Andy Hunt. Programmieren lernen. mit Minecraft-Plugins. dpunkt.verlag

Mapbender3 Workshop. Astrid Emde AGIT 2015 Salzburg

Michael Weigend. Python GE-PACKT

Content Management. mit TYPO3. Galileo Computing

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Datenbanksysteme SS 2007

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

Michael Weigend. Python GE-PACKT. 5. Auflage

SQL Server 2005 Der schnelle Einstieg

Modulhandbuch für das BA Kombinationsfach Angewandte Informatik Multimedia

C++-Entwicklung mit Linux

C-Programmierung unter TOS ATARI ST

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Das Einsteigerseminar Objektorientierte Programmierung in Java

Django - ein Python Web-Framework

1 ALLGEMEINES ZU DYNAMICS NAV Geschichte zu Dynamics NAV Datenbank Wo bekommt man Hilfe zu Dynamics NAV?...

Informatik (G8) Sek I - Differenzierung 8/9

LEHRPLAN. Webprogrammierung. Fachoberschule. Fachbereich Wirtschaft. Fachrichtung Wirtschaftsinformatik

Tobias Wassermann. Sichere Webanwendungen mit PHP

Thomas Theis PHP4. Webserver-Programmierung für Um- und Einsteiger. Galileo Press

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Vor- und Nachteile speicheroptimierter Tabellen

NAV. Profikurs Microsoft Dynamics. Paul M. Diffenderfer I Samir EI-Assal

Informatik mit Delphi

Balazs Halasy. ez Publish Grundlagen

Besser PHP programmieren

FileMaker und PHP Workshop

Programmieren Lernen mit BYOB. Gerald Futschek 5. November 2012

Prinzipien der Softwareentwicklung S. Strahringer

C# im Vergleich zu Java

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Typo 3 installieren. Schritt 1: Download von Typo3

Installationsanleitung für. SugarCRM Open Source. Windows Einzelplatz

<Trainingsinhalt> C# programmieren

Hallo Wels Hallo Welt. Programmieren als Verständigung. Chapter 1 Bin ich hier richtig? Chapter 2 Zwischen Hybris und Demut

Gesicherte Prozeduren

Objektorientierte Programmierung in Java

Institut für Programmierung und Reaktive Systeme 26. April Programmieren II. 10. Übungsblatt

IT-Basics 2. DI Gerhard Fließ

Carsten Möhrke. Zend Framework. Das Entwickler-Handbuch. Galileo Press

3 Anwendungsarchitektur und Entwicklungsumgebung

Programmierung in Java

Vorwort TYPO3 Installation und Leistungsumfang 13

NET.Compact Framework

Transkript:

Carsten Möhrke Besser PHP programmieren Handbuch professioneller PHP-Techniken Galileo Press

Vorwort zur dritten Auflage ц JjlJlli!fJÜIj SI!IS* 1.1 Lernen Sie Ihr Arbeitsgerät kennen 13 1.2 Der Editor, 15 1.3 Eclipse mit PDT 17 1.3.1 Der Editor 19 1.3.2 Konfiguration 26 1.4 Zend Studio for Eclipse 28 2.1 Datentypen in PHP 29 2.1.1 Boolean 29 2.1.2 Integer 30 2.1.3 Float 30 2.1.4 String 34 2.2 Typkonvertierung 38 2.3 Arrays 41 2.3.1 Allgemeines zu Arrays 41 2.3.2 Vergleich von Arrays 42 2.3.3 Ausgabe von Arrays 43 2.3.4 Kombinieren von Arrays 47 2.3.5 Verarbeiten von Arrays 49 2.3.6 Übereinstimmungen und Unterschiede in Arrays 56 * * ' I Vgl Ulf lllllvl Э»Hirt HI I 1#Щр р«^ 1111М!Щ^ ««iililt<ta>*iimj 3.1 HTML in PHP oder PHP in HTML? 60 3.1.1 Template-Systeme 63 3.2 Allgemeines zur Programmierung 65 3.2.1 Verständlichkeit 65 3.2.2 Alternative PHP-Syntax 67 3.2.3 Kommentare 68 3.2.4 Vermeiden Sie»Magic Numbers«71 3.2.5 ToDos, Fallstricke und andere Probleme 72 3.2.6 Halten Sie Ordnung 73

3.3 Quelltextformatierung 74 3.3.1 Globale Struktur 74 3.3.2 Klammerung 75 3.3.3 Einrückungen 77 3.3.4 Verschachtelte Funktionsaufrufe 77 3.3.5 SQL und JavaScript 78 3.3.6 Komplexe Bedingungen 79 3.4 Namensgebung 80 3.4.1 Abkürzungen 81 3.4.2 Namen für Variablen und Konstanten 82 3.4.3 Namen für Funktionen und Klassen 84 3.5 Kontrollstrukturen 86 3.5.1 Bedingungen 86 3.5.2 Fallunterscheidungen 92 3.5.3 Der ternäre Operator 95 3.5.4 Die Arbeit mit Schleifen 97 3.5.5 Die Sache mit dem goto 100 3.6 Is it a bug or is it a feature? 101 3.6.1 Die Inkrement-Operatoren 102 3.6.2 Die Funktion emptyo ЮЗ 3.6.3 Groß-/Kleinschreibung 104 3.6.4 Parameter von Funktionen 105 3.6.5 Neue PHP-Versionen 106 3.7 Der PEAR-Coding-Standard (PCS) 107 3.7.1 Einrücken und Zeilenlänge 107 3.7.2 Kontrollstrukturen 107 3.7.3 Funktionsaufrufe 108 3.7.4 Funktionsdeklaration 108 3.7.5 Kommentare und Dokumentation 109 3.7.6 Code einbinden 109 3.7.7 PHP-Tags 109 3.7.8 Namenskonventionen 109 3.7.9 Dateiformat 110 4.1 Arbeiten mit externen Bibliotheken 111 4.2 Funktionen 114 4.2.1 Design von Funktionen und Methoden 117 4.3 Objektorientierung 124 4.3.1 Zugriff auf Objekte 126 6

4.3.2 Deklaration von Klassen 127 4.3.3 Fortgeschrittene objektorientierte Programmierung 148 4.3.4 Entwurfsmuster 183 э сггиг nanuung * ятя»и*,.«,» 2091 5.1 5.2 5.3 5.4 5.5 Der -Operator 215 Eigene Error Handler 216 5.2.1 Anderer Leute Fehler 221 5.2.2 Fehlermanagement 223 Error Handling in Bibliotheken 232 5.3.1 Error Handling bei Funktionsbibliotheken ; 233 5.3.2 Error Handling in Klassenbibliotheken 237 Exception Handling 242 Fehlerdokumente 247 - «^«Professionelle Bibliotheke^&?^^b;*^*ft 6.1 Smarty 256 6.1.1 Modifikatoren 265 6.1.2 Funktionen 273 6.1.3 Caching 280 6.2 Frameworks 282 6.2.1 Auswahl eines Frameworks 282 6.2.2 PEAR 289 6.2.3 Installation 289 6.2.4 Nutzung von PEAR 293 6.2.5 Fehlerbehandlung in PEAR 295 6.2.6 Paket Spreadsheet_Excel_Writer 296 6.2.7 Zend Framework 306 6.2.8 Der Front Controller 314 6.2.9 Der Action Controller 315 6.2.10 Nutzung von Views 318 6.2.11 Die Mitspieler im Einzelnen 321 6.2.12 Übergabe von Werten 321 6.2.13 Error Handling 325 6.2.14 Hilfreiche Techniken 329 6.2.15 Das Model 331 7

7.1 Im Vorfeld 7.2 Qualitätsmerkmale 7.3 Reviews 7.4 Debugging зб9 371 372 374 7.4.1 PHP-interne Debug-Features 374 7.4.2 Eigene Debug-Routinen 7.4.3 Debugging mit PHPUnit 384 7.4.4 Professionelle Debugger 7.4.5 Testen mit Selenium 403 7.4.6 Lasttests 410 7.5 Testen 418 7.5.1 Personal 418 7.5.2 Vorgehensweise 420 379 395 8.1 Anforderungen an eine Dokumentation 422 8.2 Programmablaufpläne und Struktogramme 425 8.3 phpdocumentor 8.3.1 Die wichtigsten Tags 8.3.2 Kommandozeilenoptionen 43^ 437 443 9.1 Elementare Datenstrukturen und Algorithmen 445 9.1.1 Mengen 9.1.2 Queues 9.1.3 Stacks 9.1.4 Verkettete Listen 9.1.5 Bäume und Rekursionen 9.1.6 Nested Sets 9.2 Zeichensätze 9.2.1 Warum eigentlich Zeichensätze? 9.2.2 Die Geschichte der Zeichensätze 9.2.3 Zeichensätze bei Webseiten 9.2.4 PHP und Zeichensätze 9.2.5 MySQL und Zeichensätze 445 447 448 448 454 467 473 474 4 75 4 80 4 83 4 91 8

9.3 Interaktion mit Benutzern 494 9.3.1 Aufbau von Formularen 495 9.3.2 Wertübernahme aus Formularen 498 9.3.3 Mehrfaches Abschicken von Formularen 502 9.3.4 Prüfen von Benutzereingaben 505 9.3.5 Formulare mit Flash 510 9.4 Reguläre Ausdrücke 535 9.4.1 Delimiter 537 9.4.2 Zeichenklassen 538 9.4.3 Quantifier 540 9.4.4 Anker 541 9.4.5 Submuster 542 9.4.6 Backreferences 543 9.4.7 Lookaround 544 9.4.8 Bedingte Ausdrücke 546 9.4.9 Gier 547 9.4.10 Optionen 548 9.4.11 PCRE-Funktionen 549 9.5 Arbeit mit Dateien 554 9.5.1 Unterschiede bei Dateien 555 9.5.2 CSV-Dateien 560 9.5.3 Locks auf Dateien 565 i 9.6 E-Mails 570 9.6.1 Allgemeines zu E-Mails 571 9.6.2 Empfänger der Mail 573 9.6.3 Header-Felder 573 9.6.4 MIME-Mails 578 9.6.5 Anhänge komprimieren 589 9.6.6 Mails verschlüsseln 591 9.7 Sicherheit 598 9.7.1 Bleiben Sie auf dem Laufenden 600 9.7.2 Fertige Lösungen 600 9.7.3 Sessions 602 9.7.4 Globals 612 9.7.5 Verschiedene Angriffsarten 618 9.7.6 Passwörter 643 9.7.7 CAPTCHAs 651 9.7.8 Altersüberprüfung 660 9.7.9 Schutz von E-Mail-Adressen 666 9.8 Shared Memory 670 9

9.9 Installationsprogramme 682 9.9.1 Installationsvoraussetzungen 682 9.9.2 Übernahme von Werten 689 9.9.3 Konfigurationsdateien 691 9.9.4 Installation von Komponenten 694 9.9.5 Tabellen 698 9.9.6 Serverzeit 701 9.9.7 Grafiken 707 9.9.8 Uninstall 710 9.10 Internationalisierung/Lokalisierung 713 9.10.1 Mehrsprachige Texte 713 9.10.2 Datums- und Zahlenformate 716 9.11 Performance-Tuning 721 9.11.1 Performancebremsen finden 726 9.11.2 Stringverarbeitung 737 9.11.3 Statische Seiten generieren 739 9.11.4 Datenbankabfragen 744 9.11.5 Cache-Systeme 749 9.12 Genau rechnen 757 9.12.1 BCMath 758 9.13 Arbeit mit Datenbanken 760 9.13.1 Allgemeines 760 9.13.2 Transaktionsorientierung 770 9.13.3 phpmyadmin 772 9.13.4 ODBC 777 9.13.5 Volltextsuche in einer MySQL-Datenbank 782 9.13.6 Datenbankperformance 784 9.13.7 Stored Procedures, Stored Functions und Trigger 796 Inhalt der DVD 813 Index 815 10