PHP jedna z najpopularniejszych technologii służących do budowy aplikacji internetowych. Jest to niezależny od platformy prosty język o łatwej składni, przyjazny dla początkujących programistów. Ta ostatnia cecha zadecydowała o jego szerokim rozpowszechnieniu.
Dzięki książce ' PHP4. Zaawansowane programowanie' poznasz wiele sekretów profesjonalnych zastosowań tego języka. Nauczy Cię tworzyć programy, które są skalowalne, wydajne i bezpieczne, a także, dzięki modularnej, wielowarstwowej konstrukcji, łatwe w rozbudowie. Ta książka nie jest tylko zbiorem sztuczek i tricków. Poznasz dzięki niej wiele zaawansowanych koncepcji pomagających tworzyć wydajne aplikacje internetowe na dużą skalę. Dowiesz się, jak stworzyć program kliencki do odczytywania e-maili, nauczysz się tworzyć zabezpieczone aplikacje, używać sesji i korzystać ze złożonych struktur danych.
Dla kogo jest ta książka:
'PHP4. Zaawansowane programowanie' to książka dla programistów, którzy opanowali podstawy programowania i posiadają ogólną znajomość technologii bazodanowych i są zainteresowani tworzeniem dużych aplikacji internetowych w PHP.
Co opisuje ta książka:
Instalację PHP w systemach uniksowych, Windows i MacOS X
Sesje i cookies, pisanie klientów FTP, korzystanie z funkcji sieciowych i usług katalogowych
Wsparcie dla LDAP dostępne w PHP
Tworzenie wielowarstwowych aplikacji w PHP
Korzystanie z dokumentów XML
Korzystanie z baz danych MySQL, PostgreSQL i interfejsu ODBC
Zabezpieczanie, optymalizację aplikacji, tworzenie wersji językowych programów
Przykłady z życia wzięte: aplikacja do obsługi spisu pracowników, sieciowa biblioteka
Tworzenie interfejsu GTK do aplikacji
Studium przypadku: system uprawnień dla użytkowników i wielowarstwowa aplikacja e-commerce z wykorzystaniem WML
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
IDZ DO
IDZ DO
PRZYK£ADOWY ROZDZIA£
PRZYK£ADOWY ROZDZIA£
SPIS TREĎCI
SPIS TREĎCI
KATALOG KSI¥¯EK
KATALOG KSI¥¯EK
KATALOG ONLINE
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
TWÓJ KOSZYK
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
CENNIK I INFORMACJE
Zaawansowane
programowanie w PHP4
Autor: praca zbiorowa
ISBN: 83-7197-729-8
Tytu³ orygina³u: Professional PHP 4
Format: B5, stron: 990
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¹:
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE
O NOWOĎCIACH
O NOWOĎCIACH
ZAMÓW CENNIK
ZAMÓW CENNIK
• skalowalne,
• wydajne,
• bezpieczne,
• modularne,
• wielowarstwowe.
CZYTELNIA
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
FRAGMENTY KSI¥¯EK ONLINE
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.
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
O Autorach...................................................h...................................................h...............................19
Wstęp...................................................h...................................................h.....................................23
Dla kogo jest przeznaczona ta książka? ...................................................s............................. 23
Zawartość książki ...................................................s...................................................s............ 24
Czego potrzeba, aby można było korzystać z tej książki? ...................................................s... 27
Konwencje...................................................s...................................................s....................... 27
Rozdział 1. Droga do PHP...........................h...................................................h..................................29
Dlaczego PHP? ...................................................s...................................................s................ 29
Ewolucja języka PHP ...................................................s...................................................s........ 30
Przeszłość PHP ...................................................s...................................................s.......... 30
PHP dzisiaj ...................................................s...................................................s................. 30
PHP na ringu ...................................................s...................................................s.............. 30
Przyszłość PHP.........................................s...................................................s.....................31
PHP a inne języki ...................................................s...................................................s............. 31
PHP a ASP..............................................s...................................................s....................... 31
PHP a Cold Fusion ...................................................s...................................................s..... 32
PHP a Perl...................................................s...................................................s.................. 32
PHP a Java...................................................s...................................................s................. 32
Licencje PHP ...................................................s...................................................s................... 33
Dodatkowe źródła informacji ...................................................s.............................................. 33
Rozdział 2. Instalacja...................................................h...................................................h...............35
Mamy już PHP...................................................s...................................................s.................. 35
Przed instalacją ...................................................s...................................................s............... 37
Decyzje instalacyjne ...................................................s...................................................s........ 38
Który system operacyjny? ...................................................s............................................. 38
Moduł czy CGI? ...................................................s...................................................s.......... 38
Który serwer WWW?...................................................s...................................................s... 40
Instalacja MySQL, Apache i PHP...................................................s......................................... 40
Instalacja w systemie Windows ...................................................s.......................................... 40
Instalacja bazy MySQL ...................................................s.................................................. 41
Jakie komplikacje mogą wystąpić?...................................................s.......................... 42
Instalacja serwera Apache...................................................s............................................ 43
Jakie komplikacje mogą wystąpić?...................................................s.......................... 46
Instalacja PHP ...................................................s...................................................s...........46
Konfiguracja Apache do obsługi PHP...................................................s............................. 48
Jakie komplikacje mogą wystąpić?...................................................s.......................... 49
4
PHP4. Zaawansowane programowanie
Testowanie instalacji PHP...................................................s............................................. 50
Jakie komplikacje mogą wystąpić?...................................................s.......................... 51
Czynności po instalacji...................................................s.................................................. 52
Przejście na ISAPI ...................................................s...................................................s...... 54
Instalacja w systemach klasy UNIX ...................................................s.................................... 54
Instalacja MySQL ...................................................s...................................................s....... 55
Utworzenie użytkownika dla MySQL-a...................................................s...................... 55
Konfiguracja kodu źródłowego MySQL-a ...................................................s.................. 56
Kompilacja MySQL-a...................................................s................................................ 57
Inicjalizacja MySQL-a...................................................s............................................... 58
Uruchamianie MySQL-a ...................................................s........................................... 59
Testowanie MySQL-a ...................................................s............................................... 59
Zabezpieczanie MySQL-a...................................................s......................................... 60
Jakie komplikacje mogą wystąpić?...................................................s.......................... 60
Instalacja Apache ...................................................s...................................................s...... 60
Czynności po instalacji Apache ...................................................s............................... 61
Jakie komplikacje mogą wystąpić?...................................................s.......................... 62
Instalacja PHP ...................................................s...................................................s...........63
Jakie komplikacje mogą wystąpić?...................................................s.......................... 64
Kompilacja PHP...................................................s...................................................s.... 65
Jakie komplikacje mogą wystąpić?...................................................s.......................... 66
Czynności po instalacji...................................................s.................................................. 66
Integracja PHP z Apache ...................................................s............................................... 66
Jakie komplikacje mogą wystąpić?...................................................s.......................... 68
Czynności po instalacji ...................................................s............................................ 69
Dodatkowe źródła informacji ...................................................s.............................................. 71
PHP.net..............................................s...................................................s........................... 71
Zend.com...................................................s...................................................s................... 72
php4win.de...................................................s...................................................s................ 72
Apache ...................................................s...................................................s...................... 73
MySQL ...................................................s...................................................s....................... 73
Rozdział 3. Podstawy PHP............................h...................................................h...............................75
Programy w PHP ...................................................s...................................................s.............. 75
Skrypty PHP ...................................................s...................................................s............... 76
Instrukcje ...................................................s...................................................s........................ 77
Komentarze ...................................................s...................................................s...............79
Literały .............................................s...................................................s.................................. 80
Literały tekstowe ...................................................s...................................................s....... 80
Dokumenty osadzone ...................................................s...................................................s 81
Literały liczbowe ...................................................s...................................................s........82
Literały logiczne ...................................................s...................................................s......... 82
Zmienne ...................................................s...................................................s.......................... 83
Przypisanie ...................................................s...................................................s................ 83
Odwołanie...................................................s...................................................s.................. 84
Stałe...............................................s...................................................s.................................... 85
Typy danych...................................................s...................................................s..................... 85
Rzutowanie ...................................................s...................................................s................ 86
Operatory i funkcje ...................................................s...................................................s.......... 87
Operacje ogólnego przeznaczenia ...................................................s................................. 89
Operacje na napisach ...................................................s...................................................s 90
Funkcje napisowe ...................................................s...................................................s...... 91
substr().............................................s...................................................s.......................91
strpos()............................................s...................................................s........................91
Spis treści
5
htmspecialchars()..................................................s...................................................s.. 92
trim() ...................................................s...................................................s.................... 92
chr() oraz ord()..................................................s...................................................s....... 93
strlen()............................................s...................................................s......................... 93
printf() oraz sprintf()..................................................s.................................................. 93
Operacje liczbowe ...................................................s...................................................s...... 95
Operacje bitowe ...................................................s...................................................s... 96
Operacje porównania...................................................s............................................... 97
Priorytety operatorów ...................................................s.............................................. 98
Operacje logiczne...................................................s...................................................s....... 98
Priorytety operatorów ...................................................s.............................................. 99
Tablice............................................s...................................................s.................................... 99
Zmienne zewnętrzne...................................................s...................................................s........ 99
Zmienne systemowe, zmienne GET oraz $HTTP_ Arrays .......................................... 100
Zmienne POST ...................................................s...................................................s... 101
Cookies ...................................................s...................................................s.............. 101
Zmienne CGI ...................................................s...................................................s...... 101
Zmienne nagłówków HTTP...................................................s..................................... 102
Rozdział 4. Struktury w PHP...........................h...................................................h...........................103
Struktury kontroli przebiegu programu...................................................s.............................. 103
Instrukcje warunkowe ...................................................s................................................. 103
If ...................................................s...................................................s........................ 103
switch...................................................s...................................................s................. 106
Pętle ...................................................s...................................................s........................ 107
while...................................................s...................................................s................... 108
do...while...................................................s...................................................s............ 109
for ...................................................s...................................................s......................109
Alternatywna składnia pętli ...................................................s................................... 110
Funkcje...................................................s...................................................s.......................... 110
Definiowanie funkcji...................................................s...................................................s. 110
Zakres zmiennej ...................................................s...................................................s...... 112
Czas życia zmiennej...................................................s...................................................s. 113
Rekurencja...................................................s...................................................s...............114
Przypisywanie funkcji zmiennym...................................................s.................................. 114
Zastosowanie funkcji w celu uporządkowania kodu ...................................................s.... 115
Komentarze ...................................................s...................................................s............. 118
Tablice............................................s...................................................s.................................. 118
Inicjacja tablic...................................................s...................................................s.......... 119
Sekwencyjne przeglądanie tablic ...................................................s................................ 120
Wbudowane funkcje tablicowe ...................................................s.................................... 120
count()..................................................s...................................................s................. 120
in_array() ...................................................s...................................................s............ 121
reset() ...................................................s...................................................s................ 121
sort() ...................................................s...................................................s.................. 121
explode() oraz implode() ...................................................s........................................ 122
Tablice predefiniowane ...................................................s............................................... 122
Tablice wielowymiarowe...................................................s.............................................. 122
Rozdział 5. Programowanie obiektowe w PHP4.................h...................................................h.........125
Programowanie zorientowane obiektowo ...................................................s.......................... 125
Programowanie proceduralne a programowanie obiektowe............................................ 127
Znaczenie programowania obiektowego...................................................s...................... 128
6
PHP4. Zaawansowane programowanie
Zstępująca metoda tworzenia oprogramowania...................................................s................ 128
Klasy...................................................s...................................................s........................ 129
Obiekty ...................................................s...................................................s.................... 132
Metody fabryczne ...................................................s.................................................. 133
Hermetyzacja (ang.Encapsulation) ...................................................s.............................. 135
Dziedziczenie ...................................................s...................................................s........... 137
Operator wywołania metody klasy ...................................................s......................... 141
Ponowne wykorzystanie kodu ...................................................s................................ 141
Polimorfizm ...................................................s...................................................s..............142
Metody abstrakcyjne ...................................................s............................................. 143
Adekwatność i powiązania ...................................................s.......................................... 146
Modelowanie obiektowe z użyciem UML...................................................s........................... 148
Delegacja..........................................s...................................................s.......................... 150
Analiza i decyzje projektowe ...................................................s............................................. 152
Funkcje PHP obsługujące klasy ...................................................s........................................ 154
get_class() ...................................................s...................................................s............... 154
get_parent_class() ...................................................s...................................................s... 155
Ograniczenia PHP ...................................................s...................................................s.......... 155
Brak atrybutów statycznych...................................................s......................................... 156
Brak destruktorów ...................................................s...................................................s... 157
Brak wielokrotnego dziedziczenia...................................................s................................ 158
Modelowanie złożonego komponentu WWW ...................................................s..................... 160
Rozdział 6. Wykrywanie i usuwanie błędów...................................................h...............................165
Przegląd błędów programistycznych...................................................s.................................. 166
Błędy składni ...................................................s...................................................s........... 166
Błędy semantyczne ...................................................s...................................................s.. 167
Błędy logiczne...................................................s...................................................s.......... 168
Błędy środowiska...................................................s...................................................s..... 169
Poziomy błędów w PHP ...................................................s...................................................s.. 169
Błędy analizy...................................................s...................................................s............170
Błędy krytyczne ...................................................s...................................................s........ 170
Ostrzeżenia...................................................s...................................................s..............170
Uwagi...................................................s...................................................s....................... 170
Błędy na poziomie jądra...................................................s.............................................. 171
Poziomy błędów etapu kompilacji ...................................................s............................... 171
Poziomy błędów definiowanych przez użytkownika ...................................................s...... 171
Ustawianie poziomów zgłaszania błędów...................................................s.................... 171
Obsługa błędów...................................................s...................................................s............. 172
Wyciszanie komunikatów błędach...................................................s............................... 172
Postępowanie w przypadku wystąpienia błędu...................................................s............ 173
Sprawdzanie błędów w nietypowych sytuacjach ...................................................s.......... 174
Raportowanie błędów...................................................s.................................................. 175
Programy wspomagające wykrywanie błędów ...................................................s................... 176
Narzędzia do wykrywania błędów wykorzystujące protokół HTTP .................................... 177
Klient telnet ...................................................s...................................................s....... 177
Serwery nasłuchujące ...................................................s........................................... 178
Metoda śledzenia ...................................................s...................................................s.... 179
phpCodeSite ...................................................s...................................................s...... 180
Zdalne systemy wykrywania błędów ...................................................s............................ 185
BODY...................................................s...................................................s.................. 185
Zend IDE ...................................................s...................................................s............ 187
Testowanie skryptowe ...................................................s...................................................s... 188
Spis treści
7
Rozdział 7. Wprowadzanie danych i wyrażenia regularne ...................................................h.........193
Wprowadzanie danych ...................................................s...................................................s... 193
Formularze ...................................................s...................................................s.................... 194
Formularze HTML...................................................s...................................................s..... 194
Atrybut action...................................................s...................................................s..... 195
Atrybut method...................................................s...................................................s... 195
Obsługa wprowadzanych danych ...................................................s...................................... 196
Skomplikowane formularze ...................................................s......................................... 197
Weryfikacja danych ...................................................s...................................................s.. 200
OOH Forms...................................................s...................................................s......... 201
Przykładowa aplikacja ...................................................s........................................... 201
Zabezpieczenie przed niewłaściwym użyciem ...................................................s........ 210
Wyrażenia regularne ...................................................s...................................................s......211
Podstawy składni wyrażeń regularnych ...................................................s....................... 211
Tworzenie wyrażeń regularnych ...................................................s................................... 213
Weryfikacja poprawności adresów e-mail ...................................................s.............. 215
Wyrażenia regularne w PHP...................................................s......................................... 215
Wyrażenia regularne zgodne z mechanizmami języka Perl.............................................. 218
Funkcje PHP obsługujące PCRE...................................................s............................. 220
Rozdział 8. Sesje oraz ciasteczka.......................h...................................................h......................225
Sesje ...................................................s...................................................s............................. 226
Uaktywnianie obsługi sesji w PHP ...................................................s............................... 226
Zastosowanie sesji PHP...................................................s.............................................. 227
Uruchamianie sesji ...................................................s...................................................s.. 228
Rejestrowanie zmiennych sesji ...................................................s................................... 228
Tworzenie własnych procedur obsługi sesji ...................................................s................. 230
Ustawianie bazy danych ...................................................s........................................ 230
Adresy URL...................................................s...................................................s.................... 235
Bezpieczeństwo ...................................................s...................................................s....... 235
Ciasteczka.........................................s...................................................s............................... 236
Bezpieczeństwo ...................................................s...................................................s....... 237
Zastosowania ciasteczek...................................................s............................................ 237
Termin ważności...................................................s...................................................s. 238
Ścieżka ...................................................s...................................................s.............. 239
Domena ...................................................s...................................................s............. 239
Przykładowa aplikacja wykorzystująca ciasteczka ...................................................s....... 240
setcookie()...................................................s...................................................s............... 241
Ustawianie parametru okresu ważności ciasteczka ................................................. 242
Ograniczanie dostępu...................................................s............................................ 243
Usuwanie ciasteczka ...................................................s.................................................. 246
Łączenie informacji z ciasteczek...................................................s................................. 246
Problemy z ciasteczkami...................................................s............................................. 248
Dodatkowe funkcje obsługi sesji...................................................s....................................... 250
Rozdział 9. Obsługa plików ...................................................h.......................................................253
Pliki..............................................s...................................................s..................................... 253
Otwieranie plików...................................................s...................................................s..... 254
Zamykanie plików ...................................................s...................................................s.... 255
Wypisywanie zawartości plików ...................................................s................................... 255
Odczyt zawartości plików ...................................................s............................................ 256
Zapis do plików...................................................s...................................................s........ 257
8
PHP4. Zaawansowane programowanie
Nawigowanie po pliku ...................................................s................................................. 257
Kopiowanie, usuwanie i zmiana nazw plików ...................................................s.............. 258
Określanie atrybutów plików ...................................................s....................................... 259
Katalogi ...................................................s...................................................s......................... 260
Dodawanie i usuwanie katalogów ...................................................s............................... 262
Przesyłanie plików z przeglądarki...................................................s...................................... 263
Przesyłanie plików za pośrednictwem metody PUT ...................................................s..... 264
Przesyłanie plików z wykorzystaniem metody POST ...................................................s.... 264
Przykładowa aplikacja obsługi systemu plików ...................................................s................. 267
Aplikacja służąca do przechowywania plików online...................................................s.... 267
Wspólne mechanizmy...................................................s............................................ 270
Rejestracja nowego użytkownika ...................................................s........................... 272
Logowanie...................................................s...................................................s.......... 276
Tworzenie katalogów ...................................................s............................................. 282
Usuwanie katalogu lub pliku...................................................s.................................. 282
Wysyłanie plików na serwer...................................................s................................... 283
Przeglądanie plików...................................................s............................................... 284
Przeglądanie katalogów...................................................s......................................... 285
Wylogowanie ...................................................s...................................................s...... 286
Rozdział 10. Programowanie klientów FTP ...................................................h................................287
Uaktywnianie obsługi FTP w PHP ...................................................s...................................... 288
Rozszerzenia obsługi FTP w PHP...................................................s....................................... 288
Tworzenie aplikacji klientów FTP ...................................................s................................. 289
Procedury ułatwiające korzystanie z FTP...................................................s................ 290
Klient FTP oparty na WWW ...................................................s............................................... 299
Tworzymy klienta FTP ...................................................s.................................................. 308
Przegląd funkcji FTP według zastosowania ...................................................s....................... 311
Nawiązywanie i zrywanie połączenia ...................................................s........................... 311
Operacje na katalogach ...................................................s.............................................. 312
Obsługa plików...................................................s...................................................s......... 312
Alfabetyczny przegląd funkcji FTP...................................................s...................................... 313
Podstawowe polecenia FTP oraz odpowiadające im funkcje PHP......................................... 323
Rozdział 11. Poczta elektroniczna i grupy dyskusyjne...................................................h................327
Jak działa poczta elektroniczna? ...................................................s...................................... 328
Niezbyt tajni agenci...................................................s...................................................s.. 329
SMTP ...................................................s...................................................s....................... 329
Struktura listu elektronicznego...................................................s......................................... 331
Nagłówki listu elektronicznego...................................................s.................................... 331
Nagłówki wymagane ...................................................s.............................................. 332
Nagłówki opcjonalne ...................................................s............................................. 334
Wysyłanie listów elektronicznych z wykorzystaniem funkcji mail() .................................. 335
Wykorzystanie funkcji mail()..................................................s.................................... 335
Tworzenie klasy KlasaPocztowa ...................................................s............................ 338
Testowanie klasy KlasaPocztowa ...................................................s.......................... 344
Tworzenie klasy KlasaPocztowaSMTP ...................................................s................... 345
Testujemy klasę KlasaPocztowaSMTP ...................................................s.................. 352
List elektroniczny w formacie MIME...................................................s............................ 353
Pola nagłówka listu elektronicznego w formacie MIME............................................. 354
Tworzenie klasy KlasaPocztowaMIME ...................................................s................... 358
Testowanie klasy KlasaPocztowaMIME ...................................................s................. 362
Tworzenie klasy KlasaPocztowaSMTP_MIME ...................................................s.............. 363
Spis treści
9
Usenet ...................................................s...................................................s.......................... 364
Jak działa Usenet? ...................................................s...................................................s.. 365
Przykładowa sesja NNTP ...................................................s............................................. 365
Kody odpowiedzi serwera NNTP ...................................................s.................................. 368
Anatomia artykułu grupy dyskusyjnej ...................................................s.......................... 370
Tworzenie klasy NNTP ...................................................s................................................. 371
Testowanie klasy KlasaNNTP ...................................................s................................ 377
Łączymy w całość wszystkie elementy...................................................s.............................. 378
Dodatkowe źródła informacji ...................................................s............................................ 385
Rozdział 12. Pobieranie listów elektronicznych i artykułów grup dyskusyjnych...........................387
Protokoły służące do pobierania poczty elektronicznej ...................................................s..... 388
POP...................................................s...................................................s.......................... 388
Przykładowa sesja POP...................................................s.......................................... 389
IMAP ...................................................s...................................................s........................ 390
Znaczniki ...................................................s...................................................s............ 391
Formaty skrzynek pocztowych...................................................s................................ 391
Przykładowa sesja IMAP ...................................................s........................................ 392
Porównanie protokołu POP z IMAP ...................................................s.............................. 396
Pobieranie poczty elektronicznej za pomocą PHP ...................................................s............. 397
Połączenie z serwerem ...................................................s............................................... 397
Przykład połączenia ...................................................s............................................... 399
Tworzenie klasy Webmail ...................................................s............................................ 400
Atrybuty ...................................................s...................................................s.............. 400
Testowanie klasy Webmail ...................................................s.................................... 403
Pobieranie zawartości skrzynki pocztowej lub grupy dyskusyjnej.................................... 403
Pobieranie zawartości skrzynki lub grupy dyskusyjnej w klasie Webmail ........................ 410
Nowe atrybuty ...................................................s...................................................s.... 410
Testowanie klasy Webmail ...................................................s.................................... 413
Pobieranie listów i artykułów...................................................s....................................... 414
Odczytywanie listów z wykorzystaniem klasy Webmail ...................................................s 416
Nowe atrybuty ...................................................s...................................................s.... 416
Testujemy klasę Webmail...................................................s...................................... 420
Praca ze skrzynkami ...................................................s...................................................s 422
Zarządzanie skrzynkami z wykorzystaniem klasy Webmail ............................................. 425
Nowe atrybuty ...................................................s...................................................s.... 425
Operacje na listach i artykułach...................................................s.................................. 428
Operacje na listach wykonywane z wykorzystaniem klasy Webmail................................ 430
Nowe atrybuty ...................................................s...................................................s.... 430
System obsługi poczty elektronicznej oparty na przeglądarce WWW.................................... 433
Atrybuty ...................................................s...................................................s.............. 433
Dodatkowe źródła informacji ...................................................s............................................ 447
Rozdział 13. Sieci i protokół TCP/IP...................................................h...........................................449
Internet Protocol...................................................s...................................................s............ 450
Protokoły warstwy transportowej ...................................................s...................................... 451
TCP — Transmission Control Protocol ...................................................s........................ 451
UDP — User Datagram Protocol ...................................................s................................. 452
Tłumaczenie nazw domen ...................................................s................................................ 452
Hierarchiczny system rozproszony ...................................................s.............................. 453
Wykorzystanie DNS w PHP ...................................................s.......................................... 454
Biblioteka Resolver ...................................................s...................................................s.. 458
10
PHP4. Zaawansowane programowanie
Gniazda ...................................................s...................................................s......................... 463
Gniazda i PHP ...................................................s...................................................s.......... 464
Aplikacja klienta pocztowego ...................................................s...................................... 469
Network Information Service ...................................................s............................................ 471
Serwery NIS ...................................................s...................................................s............. 472
Klienci NIS ...................................................s...................................................s............... 473
Mapowania NIS...................................................s...................................................s........ 473
NIS i PHP ...................................................s...................................................s................. 475
Simple Network Management Protocol...................................................s............................. 477
Agenci i zarządcy ...................................................s...................................................s..... 477
Protokół SNMP...................................................s...................................................s......... 478
Get ...................................................s...................................................s..................... 478
Get Next...................................................s...................................................s............. 479
Set ...................................................s...................................................s..................... 479
Trap...................................................s...................................................s.................... 479
Organizacja danych SNMP ...................................................s.......................................... 479
Funkcje SNMP w PHP...................................................s.................................................. 480
Rozdział 14. LDAP...................................h...................................................h...................................485
Katalogi ...................................................s...................................................s......................... 485
LDAP.................................................s...................................................s................................ 486
LDAP a tradycyjne bazy danych ...................................................s................................... 486
Składniki LDAP...................................................s...................................................s......... 488
LDAP — charakterystyka ...................................................s............................................ 488
Globalne usługi katalogowe ...................................................s.................................. 489
Otwarty standard komunikacyjny ...................................................s........................... 489
Rozszerzalność i elastyczność ...................................................s.............................. 489
Heterogeniczne repozytorium danych ...................................................s.................... 489
Bezpieczny protokół z kontrolą dostępu ...................................................s................ 490
Zastosowania LDAP ...................................................s...................................................s. 490
Elementy terminologii LDAP ...................................................s........................................ 492
Modele LDAP ...................................................s...................................................s........... 493
Model informacyjny ...................................................s............................................... 493
Model nazw ...................................................s...................................................s........ 495
Model funkcjonalny ...................................................s............................................... 496
Zaawansowane cechy LDAP...................................................s........................................ 499
Operacje asynchroniczne...................................................s....................................... 499
Replikacja ...................................................s...................................................s.......... 499
Odsyłacze...................................................s...................................................s........... 500
Bezpieczeństwo...................................................s...................................................s.. 500
Właściwości rozszerzone...................................................s....................................... 500
Oprogramowanie LDAP ...................................................s...................................................s.. 501
Instalacja i konfiguracja serwera LDAP ...................................................s....................... 502
Plik konfiguracyjny serwera OpenLDAP ...................................................s.................. 502
Uruchamianie serwera slapd...................................................s................................. 504
Sprawdzanie instalacji ...................................................s................................................ 505
Obsługa LDAP w języku PHP ...................................................s............................................. 505
Interfejs LDAP API języka PHP...................................................s..................................... 506
Funkcje połączeniowe i kontrolne...................................................s.......................... 506
Funkcje wyszukujące ...................................................s............................................. 508
Funkcje modyfikujące ...................................................s............................................ 514
Funkcje obsługi błędów ...................................................s......................................... 516
Przykładowa aplikacja klienta LDAP w języku PHP ...................................................s............ 516
Spis treści
11
Rozdział 15. Wprowadzenie do programowania aplikacji wielowarstwowych ..............................533
Rozwój aplikacji WWW ...................................................s...................................................s... 533
Wielowarstwowość ...................................................s...................................................s........ 535
Warstwa danych...................................................s...................................................s....... 535
Model plikowy ...................................................s...................................................s.... 536
Model relacyjny ...................................................s...................................................s.. 537
Model XML ...................................................s...................................................s......... 538
Model mieszany ...................................................s...................................................s. 540
Warstwa logiki aplikacji...................................................s............................................... 540
Warstwa prezentacji...................................................s...................................................s. 540
Urządzenia korzystające z sieci WWW...................................................s......................... 541
Architektury projektowania wielowarstwowego...................................................s.................. 541
Architektura oparta na języku HTML...................................................s............................ 542
Warstwa danych ...................................................s...................................................s. 543
Warstwa logiczna ...................................................s.................................................. 543
Warstwa prezentacji ...................................................s.............................................. 543
Architektura oparta na języku XML...................................................s.............................. 545
Wyodrębnianie warstw...................................................s...................................................s... 546
Programowanie modułowe ...................................................s.......................................... 547
Niezależność warstw logiki i prezentacji...................................................s...................... 547
Niezależność warstw logiki i danych ...................................................s........................... 547
Niezależność od bazy danych...................................................s...................................... 547
Ankieta — projektowanie aplikacji wielowarstwowej...................................................s......... 548
Projektowanie modelu danych ...................................................s.................................... 548
Warstwa danych ...................................................s...................................................s. 548
Warstwa logiczna ...................................................s.................................................. 549
Warstwa prezentacji ...................................................s.............................................. 550
Klasyczna architektura wielowarstwowa ...................................................s..................... 550
Przypadek 1. Zmiana sposobu wyświetlania wyników głosowania ............................ 550
Przypadek 2. Zablokowanie możliwości wielokrotnego głosowania użytkownika....... 550
Przypadek 3. Wersja Flash aplikacji ...................................................s...................... 551
Rozdział 16. Aplikacja WAP — studium przypadku ...................................................h....................553
Analiza wymagań ...................................................s...................................................s........... 553
Interakcja z użytkownikiem ...................................................s............................................... 555
Dobór oprogramowania ...................................................s...................................................s. 555
Alternatywy dla bazy danych zaplecza ...................................................s......................... 557
Alternatywy dla warstwy pośredniej...................................................s............................. 557
Projekt schematu bazy danych ...................................................s......................................... 558
Tabele bazy danych...................................................s...................................................s.. 558
Użytkownik bazy danych...................................................s.............................................. 560
Indeksy ..............................................s...................................................s......................... 561
Kwestie projektowe warstwy pośredniej ...................................................s........................... 562
Uwierzytelnianie...................................................s...................................................s....... 562
Przechowywanie danych sesji...................................................s...................................... 562
Kwestie związane z językiem WML...................................................s.............................. 563
Wydajność ...................................................s...................................................s............... 564
Implementacja...................................................s...................................................s............... 564
Kod aplikacji ...................................................s...................................................s............566
Warstwa danych i logiki aplikacji ...................................................s........................... 572
Karta powitalna ...................................................s...................................................s.. 595
Rejestracja nowego użytkownika ...................................................s........................... 598
Logowanie...................................................s...................................................s.......... 599
12
PHP4. Zaawansowane programowanie
Karta główna aplikacji ...................................................s........................................... 601
Przeglądanie zasobów księgarni...................................................s............................ 605
Przeglądanie zasobów sklepu muzycznego...................................................s............ 607
Wyszukiwanie...................................................s...................................................s..... 609
Dodawanie pozycji do koszyka użytkownika ...................................................s.......... 612
Przeglądanie zawartości koszyka użytkownika...................................................s....... 614
Zmiana liczby sztuk poszczególnych pozycji koszyka................................................ 616
Zatwierdzanie zakupów ...................................................s......................................... 618
Przeglądanie informacji o koncie użytkownika ...................................................s....... 620
Wylogowanie ...................................................s...................................................s...... 623
Rozdział 17. PHP i MySQL ...................................................h...................................................h.......625
Relacyjne bazy danych...................................................s...................................................s... 626
Indeksy ..............................................s...................................................s......................... 627
Klucze...................................................s...................................................s...................... 627
Normalizacja ...................................................s...................................................s............ 629
Strukturalny język zapytań ...................................................s................................................ 631
Zapytania definicji danych...................................................s........................................... 632
CREATE DATABASE...................................................s................................................ 632
USE ...................................................s...................................................s.................... 633
CREATE TABLE...................................................s...................................................s.... 633
DESCRIBE ...................................................s...................................................s.......... 634
ALTER TABLE ...................................................s...................................................s...... 636
DROP TABLE...................................................s...................................................s....... 637
DROP DATABASE ...................................................s...................................................s 637
Zapytania manipulacji danymi...................................................s..................................... 638
INSERT ...................................................s...................................................s............... 638
REPLACE ...................................................s...................................................s............ 638
DELETE...................................................s...................................................s............... 639
UPDATE ...................................................s...................................................s.............. 639
SELECT...................................................s...................................................s............... 640
Połączenia ...................................................s...................................................s...............641
Indeksy ..............................................s...................................................s......................... 642
Niepodzielność operacji ...................................................s.............................................. 644
PHP a relacyjne bazy danych ...................................................s............................................ 645
Interfejs MySQL języka PHP ...................................................s........................................ 645
Biblioteka sieciowa ...................................................s...................................................s.. 651
Wyodrębnianie bazy danych ...................................................s........................................ 658
Warstwa abstrakcji bazy danych...................................................s............................ 660
Konstrukcja klasy BD ...................................................s............................................ 660
Testowanie klasy BD ...................................................s............................................. 664
Rozdział 18. PHP i PostgreSQL...................................................h...................................................667
PostgreSQL — podstawy...................................................s.................................................. 668
Zapytania definicji danych...................................................s........................................... 669
CREATE DATABASE...................................................s................................................ 669
CREATE TABLE...................................................s...................................................s.... 669
ALTER TABLE ...................................................s...................................................s...... 672
DROP TABLE...................................................s...................................................s....... 673
DROP DATABASE ...................................................s...................................................s 673
Zapytania manipulacji danymi...................................................s..................................... 673
INSERT ...................................................s...................................................s............... 673
DELETE...................................................s...................................................s............... 674
UPDATE ...................................................s...................................................s.............. 674
SELECT...................................................s...................................................s............... 675
Spis treści
13
Interfejs PostgreSQL języka PHP ...................................................s...................................... 676
Biblioteka sieciowa................................s...................................................s........................... 683
Wyodrębnianie bazy danych...................................................s.............................................. 687
Rozdział 19. PHP i ODBC...................................................h...................................................h...........691
ODBC — historia i przeznaczenie ..............
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
Opinie na temat publikacji:
Inne popularne pozycje z tej kategorii:
Czytaj również:
Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką :