PHP4_Zaawansowane_programowanie_zprphp.pdf

(442 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Zaawansowane
programowanie w PHP4
Autor: praca zbiorowa
ISBN: 83-7197-729-8
Tytu³ orygina³u:
Professional PHP 4
Format: B5, stron: 990
TWÓJ KOSZYK
DODAJ DO KOSZYKA
W opinii autorów niniejsza ksi¹¿ka stanowi doskona³e ród³o wiedzy dla aktywnych
programistów, wykorzystuj¹cych w swojej pracy PHP.
Ta ksi¹¿ka ma na celu umo¿liwienie twórcom aplikacji internetowych tworzenie
programów, które bêd¹:
• skalowalne,
• wydajne,
• bezpieczne,
• modularne,
• wielowarstwowe.
Ksi¹¿ka ta adresowana jest do programistów, których znajomo æ PHP pozwala na
tworzenie i rozwijanie niewielkich aplikacji WWW. Pomimo ¿e przedstawiamy sk³adniê
PHP, liczymy na to, ¿e programi ci czytaj¹cy tê ksi¹¿kê nie bêd¹ potrzebowali wyk³adu
na temat podstaw programowania.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorach.....................................................................................................................................19
Wstęp...........................................................................................................................................23
Dla kogo jest przeznaczona ta książka? ................................................................................ 23
Zawartość książki .................................................................................................................. 24
Czego potrzeba, aby można było korzystać z tej książki? ...................................................... 27
Konwencje............................................................................................................................. 27
Rozdział 1. Droga do PHP................................................................................................................29
Dlaczego PHP? ...................................................................................................................... 29
Ewolucja języka PHP .............................................................................................................. 30
Przeszłość PHP ................................................................................................................ 30
PHP dzisiaj ....................................................................................................................... 30
PHP na ringu .................................................................................................................... 30
Przyszłość PHP................................................................................................................. 31
PHP a inne języki ................................................................................................................... 31
PHP a ASP........................................................................................................................ 31
PHP a Cold Fusion ........................................................................................................... 32
PHP a Perl........................................................................................................................ 32
PHP a Java....................................................................................................................... 32
Licencje PHP ......................................................................................................................... 33
Dodatkowe źródła informacji ................................................................................................. 33
Rozdział 2. Instalacja.....................................................................................................................35
Mamy już PHP........................................................................................................................ 35
Przed instalacją ..................................................................................................................... 37
Decyzje instalacyjne .............................................................................................................. 38
Który system operacyjny? ................................................................................................ 38
Moduł czy CGI? ................................................................................................................ 38
Który serwer WWW?......................................................................................................... 40
Instalacja MySQL, Apache i PHP............................................................................................ 40
Instalacja w systemie Windows ............................................................................................. 40
Instalacja bazy MySQL ..................................................................................................... 41
Jakie komplikacje mogą wystąpić?............................................................................. 42
Instalacja serwera Apache............................................................................................... 43
Jakie komplikacje mogą wystąpić?............................................................................. 46
Instalacja PHP ................................................................................................................. 46
Konfiguracja Apache do obsługi PHP................................................................................ 48
Jakie komplikacje mogą wystąpić?............................................................................. 49
4
PHP4. Zaawansowane programowanie
Testowanie instalacji PHP................................................................................................ 50
Jakie komplikacje mogą wystąpić?............................................................................. 51
Czynności po instalacji..................................................................................................... 52
Przejście na ISAPI ............................................................................................................ 54
Instalacja w systemach klasy UNIX ....................................................................................... 54
Instalacja MySQL ............................................................................................................. 55
Utworzenie użytkownika dla MySQL-a......................................................................... 55
Konfiguracja kodu źródłowego MySQL-a ..................................................................... 56
Kompilacja MySQL-a................................................................................................... 57
Inicjalizacja MySQL-a.................................................................................................. 58
Uruchamianie MySQL-a .............................................................................................. 59
Testowanie MySQL-a .................................................................................................. 59
Zabezpieczanie MySQL-a............................................................................................ 60
Jakie komplikacje mogą wystąpić?............................................................................. 60
Instalacja Apache ............................................................................................................ 60
Czynności po instalacji Apache .................................................................................. 61
Jakie komplikacje mogą wystąpić?............................................................................. 62
Instalacja PHP ................................................................................................................. 63
Jakie komplikacje mogą wystąpić?............................................................................. 64
Kompilacja PHP.......................................................................................................... 65
Jakie komplikacje mogą wystąpić?............................................................................. 66
Czynności po instalacji..................................................................................................... 66
Integracja PHP z Apache .................................................................................................. 66
Jakie komplikacje mogą wystąpić?............................................................................. 68
Czynności po instalacji ............................................................................................... 69
Dodatkowe źródła informacji ................................................................................................. 71
PHP.net............................................................................................................................ 71
Zend.com......................................................................................................................... 72
php4win.de...................................................................................................................... 72
Apache ............................................................................................................................ 73
MySQL ............................................................................................................................. 73
Rozdział 3. Podstawy PHP..............................................................................................................75
Programy w PHP .................................................................................................................... 75
Skrypty PHP ..................................................................................................................... 76
Instrukcje .............................................................................................................................. 77
Komentarze ..................................................................................................................... 79
Literały .................................................................................................................................. 80
Literały tekstowe ............................................................................................................. 80
Dokumenty osadzone ...................................................................................................... 81
Literały liczbowe .............................................................................................................. 82
Literały logiczne ............................................................................................................... 82
Zmienne ................................................................................................................................ 83
Przypisanie ...................................................................................................................... 83
Odwołanie........................................................................................................................ 84
Stałe...................................................................................................................................... 85
Typy danych........................................................................................................................... 85
Rzutowanie ...................................................................................................................... 86
Operatory i funkcje ................................................................................................................ 87
Operacje ogólnego przeznaczenia .................................................................................... 89
Operacje na napisach ...................................................................................................... 90
Funkcje napisowe ............................................................................................................ 91
substr()....................................................................................................................... 91
strpos()....................................................................................................................... 91
Spis treści
5
htmspecialchars()....................................................................................................... 92
trim() .......................................................................................................................... 92
chr() oraz ord()............................................................................................................ 93
strlen()........................................................................................................................ 93
printf() oraz sprintf().................................................................................................... 93
Operacje liczbowe ............................................................................................................ 95
Operacje bitowe ......................................................................................................... 96
Operacje porównania.................................................................................................. 97
Priorytety operatorów ................................................................................................. 98
Operacje logiczne............................................................................................................. 98
Priorytety operatorów ................................................................................................. 99
Tablice................................................................................................................................... 99
Zmienne zewnętrzne.............................................................................................................. 99
Zmienne systemowe, zmienne GET oraz $HTTP_ Arrays .......................................... 100
Zmienne POST ......................................................................................................... 101
Cookies .................................................................................................................... 101
Zmienne CGI ............................................................................................................ 101
Zmienne nagłówków HTTP........................................................................................ 102
Rozdział 4. Struktury w PHP.........................................................................................................103
Struktury kontroli przebiegu programu................................................................................. 103
Instrukcje warunkowe .................................................................................................... 103
If .............................................................................................................................. 103
switch....................................................................................................................... 106
Pętle .............................................................................................................................. 107
while......................................................................................................................... 108
do...while.................................................................................................................. 109
for ............................................................................................................................ 109
Alternatywna składnia pętli ...................................................................................... 110
Funkcje................................................................................................................................ 110
Definiowanie funkcji....................................................................................................... 110
Zakres zmiennej ............................................................................................................ 112
Czas życia zmiennej....................................................................................................... 113
Rekurencja..................................................................................................................... 114
Przypisywanie funkcji zmiennym..................................................................................... 114
Zastosowanie funkcji w celu uporządkowania kodu ....................................................... 115
Komentarze ................................................................................................................... 118
Tablice................................................................................................................................. 118
Inicjacja tablic................................................................................................................ 119
Sekwencyjne przeglądanie tablic ................................................................................... 120
Wbudowane funkcje tablicowe ....................................................................................... 120
count()...................................................................................................................... 120
in_array() .................................................................................................................. 121
reset() ...................................................................................................................... 121
sort() ........................................................................................................................ 121
explode() oraz implode() ........................................................................................... 122
Tablice predefiniowane .................................................................................................. 122
Tablice wielowymiarowe................................................................................................. 122
Rozdział 5. Programowanie obiektowe w PHP4.............................................................................125
Programowanie zorientowane obiektowo ............................................................................. 125
Programowanie proceduralne a programowanie obiektowe............................................ 127
Znaczenie programowania obiektowego......................................................................... 128
6
PHP4. Zaawansowane programowanie
Zstępująca metoda tworzenia oprogramowania................................................................... 128
Klasy.............................................................................................................................. 129
Obiekty .......................................................................................................................... 132
Metody fabryczne ..................................................................................................... 133
Hermetyzacja (ang.Encapsulation) ................................................................................. 135
Dziedziczenie ................................................................................................................. 137
Operator wywołania metody klasy ............................................................................ 141
Ponowne wykorzystanie kodu ................................................................................... 141
Polimorfizm .................................................................................................................... 142
Metody abstrakcyjne ................................................................................................ 143
Adekwatność i powiązania ............................................................................................. 146
Modelowanie obiektowe z użyciem UML.............................................................................. 148
Delegacja....................................................................................................................... 150
Analiza i decyzje projektowe ................................................................................................ 152
Funkcje PHP obsługujące klasy ........................................................................................... 154
get_class() ..................................................................................................................... 154
get_parent_class() ......................................................................................................... 155
Ograniczenia PHP ................................................................................................................ 155
Brak atrybutów statycznych............................................................................................ 156
Brak destruktorów ......................................................................................................... 157
Brak wielokrotnego dziedziczenia................................................................................... 158
Modelowanie złożonego komponentu WWW ........................................................................ 160
Rozdział 6. Wykrywanie i usuwanie błędów..................................................................................165
Przegląd błędów programistycznych..................................................................................... 166
Błędy składni ................................................................................................................. 166
Błędy semantyczne ........................................................................................................ 167
Błędy logiczne................................................................................................................ 168
Błędy środowiska........................................................................................................... 169
Poziomy błędów w PHP ........................................................................................................ 169
Błędy analizy.................................................................................................................. 170
Błędy krytyczne .............................................................................................................. 170
Ostrzeżenia.................................................................................................................... 170
Uwagi............................................................................................................................. 170
Błędy na poziomie jądra................................................................................................. 171
Poziomy błędów etapu kompilacji .................................................................................. 171
Poziomy błędów definiowanych przez użytkownika ......................................................... 171
Ustawianie poziomów zgłaszania błędów....................................................................... 171
Obsługa błędów................................................................................................................... 172
Wyciszanie komunikatów błędach.................................................................................. 172
Postępowanie w przypadku wystąpienia błędu............................................................... 173
Sprawdzanie błędów w nietypowych sytuacjach ............................................................. 174
Raportowanie błędów..................................................................................................... 175
Programy wspomagające wykrywanie błędów ...................................................................... 176
Narzędzia do wykrywania błędów wykorzystujące protokół HTTP .................................... 177
Klient telnet ............................................................................................................. 177
Serwery nasłuchujące .............................................................................................. 178
Metoda śledzenia .......................................................................................................... 179
phpCodeSite ............................................................................................................ 180
Zdalne systemy wykrywania błędów ............................................................................... 185
BODY........................................................................................................................ 185
Zend IDE .................................................................................................................. 187
Testowanie skryptowe ......................................................................................................... 188
Zgłoś jeśli naruszono regulamin