PHP4. Zaawansowane programowanie - Helion
Tytuł oryginału: Professional PHP 4
Tłumaczenie: Marek Pętlicki, Przemysław Szeremiota
ISBN: 83-7197-729-8
stron: 992, Format: B5, okładka: twarda
Data wydania: 2003-04-29
Księgarnia: Helion
Cena książki: 99,00 zł
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
Osoby które kupowały "PHP4. Zaawansowane programowanie", wybierały także:
- PHP 8 Programming Tips, Tricks and Best Practices 157,37 zł, (29,90 zł -81%)
- Domain-Driven Design in PHP 135,91 zł, (29,90 zł -78%)
- PHP Microservices 135,91 zł, (29,90 zł -78%)
- Drupal 8 Module Development. Second edition 124,58 zł, (29,90 zł -76%)
- Mastering The Faster Web with PHP, MySQL, and JavaScript 124,58 zł, (29,90 zł -76%)
Spis treści
PHP4. Zaawansowane programowanie -- 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)
- Testowanie instalacji PHP (50)
- Jakie komplikacje mogą wystąpić? (51)
- Czynności po instalacji (52)
- Przejście na ISAPI (54)
- Instalacja bazy MySQL (41)
- 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)
- Instalacja MySQL (55)
- 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)
- 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)
- Instrukcje warunkowe (103)
- 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)
- 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)
- Narzędzia do wykrywania błędów wykorzystujące protokół HTTP (177)
- Testowanie skryptowe (188)
Rozdział 7. Wprowadzanie danych i wyrażenia regularne (193)
- Wprowadzanie danych (193)
- Formularze (194)
- Formularze HTML (194)
- Atrybut action (195)
- Atrybut method (195)
- Formularze HTML (194)
- Obsługa wprowadzanych danych (196)
- Skomplikowane formularze (197)
- Weryfikacja danych (200)
- OOH Forms (201)
- Przykładowa aplikacja (201)
- Zabezpieczenie przed niewłaściwym użyciem (210)
- Wyrażenia regularne (211)
- Podstawy składni wyrażeń regularnych (211)
- Tworzenie wyrażeń regularnych (213)
- Weryfikacja poprawności adresów e-mail (215)
- Wyrażenia regularne w PHP (215)
- Wyrażenia regularne zgodne z mechanizmami języka Perl (218)
- Funkcje PHP obsługujące PCRE (220)
Rozdział 8. Sesje oraz ciasteczka (225)
- Sesje (226)
- Uaktywnianie obsługi sesji w PHP (226)
- Zastosowanie sesji PHP (227)
- Uruchamianie sesji (228)
- Rejestrowanie zmiennych sesji (228)
- Tworzenie własnych procedur obsługi sesji (230)
- Ustawianie bazy danych (230)
- Adresy URL (235)
- Bezpieczeństwo (235)
- Ciasteczka (236)
- Bezpieczeństwo (237)
- Zastosowania ciasteczek (237)
- Termin ważności (238)
- Ścieżka (239)
- Domena (239)
- Przykładowa aplikacja wykorzystująca ciasteczka (240)
- setcookie() (241)
- Ustawianie parametru okresu ważności ciasteczka (242)
- Ograniczanie dostępu (243)
- Usuwanie ciasteczka (246)
- Łączenie informacji z ciasteczek (246)
- Problemy z ciasteczkami (248)
- Dodatkowe funkcje obsługi sesji (250)
Rozdział 9. Obsługa plików (253)
- Pliki (253)
- Otwieranie plików (254)
- Zamykanie plików (255)
- Wypisywanie zawartości plików (255)
- Odczyt zawartości plików (256)
- Zapis do plików (257)
- Nawigowanie po pliku (257)
- Kopiowanie, usuwanie i zmiana nazw plików (258)
- Określanie atrybutów plików (259)
- Katalogi (260)
- Dodawanie i usuwanie katalogów (262)
- Przesyłanie plików z przeglądarki (263)
- Przesyłanie plików za pośrednictwem metody PUT (264)
- Przesyłanie plików z wykorzystaniem metody POST (264)
- Przykładowa aplikacja obsługi systemu plików (267)
- Aplikacja służąca do przechowywania plików online (267)
- Wspólne mechanizmy (270)
- Rejestracja nowego użytkownika (272)
- Logowanie (276)
- Tworzenie katalogów (282)
- Usuwanie katalogu lub pliku (282)
- Wysyłanie plików na serwer (283)
- Przeglądanie plików (284)
- Przeglądanie katalogów (285)
- Wylogowanie (286)
- Aplikacja służąca do przechowywania plików online (267)
Rozdział 10. Programowanie klientów FTP (287)
- Uaktywnianie obsługi FTP w PHP (288)
- Rozszerzenia obsługi FTP w PHP (288)
- Tworzenie aplikacji klientów FTP (289)
- Procedury ułatwiające korzystanie z FTP (290)
- Tworzenie aplikacji klientów FTP (289)
- Klient FTP oparty na WWW (299)
- Tworzymy klienta FTP (308)
- Przegląd funkcji FTP według zastosowania (311)
- Nawiązywanie i zrywanie połączenia (311)
- Operacje na katalogach (312)
- Obsługa plików (312)
- Alfabetyczny przegląd funkcji FTP (313)
- Podstawowe polecenia FTP oraz odpowiadające im funkcje PHP (323)
Rozdział 11. Poczta elektroniczna i grupy dyskusyjne (327)
- Jak działa poczta elektroniczna? (328)
- Niezbyt tajni agenci (329)
- SMTP (329)
- Struktura listu elektronicznego (331)
- Nagłówki listu elektronicznego (331)
- Nagłówki wymagane (332)
- Nagłówki opcjonalne (334)
- Wysyłanie listów elektronicznych z wykorzystaniem funkcji mail() (335)
- Wykorzystanie funkcji mail() (335)
- Tworzenie klasy KlasaPocztowa (338)
- Testowanie klasy KlasaPocztowa (344)
- Tworzenie klasy KlasaPocztowaSMTP (345)
- Testujemy klasę KlasaPocztowaSMTP (352)
- List elektroniczny w formacie MIME (353)
- Pola nagłówka listu elektronicznego w formacie MIME (354)
- Tworzenie klasy KlasaPocztowaMIME (358)
- Testowanie klasy KlasaPocztowaMIME (362)
- Tworzenie klasy KlasaPocztowaSMTP_MIME (363)
- Nagłówki listu elektronicznego (331)
- Usenet (364)
- Jak działa Usenet? (365)
- Przykładowa sesja NNTP (365)
- Kody odpowiedzi serwera NNTP (368)
- Anatomia artykułu grupy dyskusyjnej (370)
- Tworzenie klasy NNTP (371)
- Testowanie klasy KlasaNNTP (377)
- Łączymy w całość wszystkie elementy (378)
- Dodatkowe źródła informacji (385)
Rozdział 12. Pobieranie listów elektronicznych i artykułów grup dyskusyjnych (387)
- Protokoły służące do pobierania poczty elektronicznej (388)
- POP (388)
- Przykładowa sesja POP (389)
- IMAP (390)
- Znaczniki (391)
- Formaty skrzynek pocztowych (391)
- Przykładowa sesja IMAP (392)
- Porównanie protokołu POP z IMAP (396)
- POP (388)
- Pobieranie poczty elektronicznej za pomocą PHP (397)
- Połączenie z serwerem (397)
- Przykład połączenia (399)
- Tworzenie klasy Webmail (400)
- Atrybuty (400)
- Testowanie klasy Webmail (403)
- Pobieranie zawartości skrzynki pocztowej lub grupy dyskusyjnej (403)
- Pobieranie zawartości skrzynki lub grupy dyskusyjnej w klasie Webmail (410)
- Nowe atrybuty (410)
- Testowanie klasy Webmail (413)
- Pobieranie listów i artykułów (414)
- Odczytywanie listów z wykorzystaniem klasy Webmail (416)
- Nowe atrybuty (416)
- Testujemy klasę Webmail (420)
- Praca ze skrzynkami (422)
- Zarządzanie skrzynkami z wykorzystaniem klasy Webmail (425)
- Nowe atrybuty (425)
- Operacje na listach i artykułach (428)
- Operacje na listach wykonywane z wykorzystaniem klasy Webmail (430)
- Nowe atrybuty (430)
- Połączenie z serwerem (397)
- System obsługi poczty elektronicznej oparty na przeglądarce WWW (433)
- Atrybuty (433)
- Dodatkowe źródła informacji (447)
Rozdział 13. Sieci i protokół TCP/IP (449)
- Internet Protocol (450)
- Protokoły warstwy transportowej (451)
- TCP - Transmission Control Protocol (451)
- UDP - User Datagram Protocol (452)
- Tłumaczenie nazw domen (452)
- Hierarchiczny system rozproszony (453)
- Wykorzystanie DNS w PHP (454)
- Biblioteka Resolver (458)
- Gniazda (463)
- Gniazda i PHP (464)
- Aplikacja klienta pocztowego (469)
- Network Information Service (471)
- Serwery NIS (472)
- Klienci NIS (473)
- Mapowania NIS (473)
- NIS i PHP (475)
- Simple Network Management Protocol (477)
- Agenci i zarządcy (477)
- Protokół SNMP (478)
- Get (478)
- Get Next (479)
- Set (479)
- Trap (479)
- Organizacja danych SNMP (479)
- Funkcje SNMP w PHP (480)
Rozdział 14. LDAP (485)
- Katalogi (485)
- LDAP (486)
- LDAP a tradycyjne bazy danych (486)
- Składniki LDAP (488)
- LDAP - charakterystyka (488)
- Globalne usługi katalogowe (489)
- Otwarty standard komunikacyjny (489)
- Rozszerzalność i elastyczność (489)
- Heterogeniczne repozytorium danych (489)
- Bezpieczny protokół z kontrolą dostępu (490)
- Zastosowania LDAP (490)
- Elementy terminologii LDAP (492)
- Modele LDAP (493)
- Model informacyjny (493)
- Model nazw (495)
- Model funkcjonalny (496)
- Zaawansowane cechy LDAP (499)
- Operacje asynchroniczne (499)
- Replikacja (499)
- Odsyłacze (500)
- Bezpieczeństwo (500)
- Właściwości rozszerzone (500)
- Oprogramowanie LDAP (501)
- Instalacja i konfiguracja serwera LDAP (502)
- Plik konfiguracyjny serwera OpenLDAP (502)
- Uruchamianie serwera slapd (504)
- Sprawdzanie instalacji (505)
- Instalacja i konfiguracja serwera LDAP (502)
- Obsługa LDAP w języku PHP (505)
- Interfejs LDAP API języka PHP (506)
- Funkcje połączeniowe i kontrolne (506)
- Funkcje wyszukujące (508)
- Funkcje modyfikujące (514)
- Funkcje obsługi błędów (516)
- Interfejs LDAP API języka PHP (506)
- Przykładowa aplikacja klienta LDAP w języku PHP (516)
Rozdział 15. Wprowadzenie do programowania aplikacji wielowarstwowych (533)
- Rozwój aplikacji WWW (533)
- Wielowarstwowość (535)
- Warstwa danych (535)
- Model plikowy (536)
- Model relacyjny (537)
- Model XML (538)
- Model mieszany (540)
- Warstwa logiki aplikacji (540)
- Warstwa prezentacji (540)
- Urządzenia korzystające z sieci WWW (541)
- Warstwa danych (535)
- Architektury projektowania wielowarstwowego (541)
- Architektura oparta na języku HTML (542)
- Warstwa danych (543)
- Warstwa logiczna (543)
- Warstwa prezentacji (543)
- Architektura oparta na języku XML (545)
- Architektura oparta na języku HTML (542)
- Wyodrębnianie warstw (546)
- Programowanie modułowe (547)
- Niezależność warstw logiki i prezentacji (547)
- Niezależność warstw logiki i danych (547)
- Niezależność od bazy danych (547)
- Ankieta - projektowanie aplikacji wielowarstwowej (548)
- Projektowanie modelu danych (548)
- Warstwa danych (548)
- Warstwa logiczna (549)
- Warstwa prezentacji (550)
- Klasyczna architektura wielowarstwowa (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 (551)
- Projektowanie modelu danych (548)
Rozdział 16. Aplikacja WAP - studium przypadku (553)
- Analiza wymagań (553)
- Interakcja z użytkownikiem (555)
- Dobór oprogramowania (555)
- Alternatywy dla bazy danych zaplecza (557)
- Alternatywy dla warstwy pośredniej (557)
- Projekt schematu bazy danych (558)
- Tabele bazy danych (558)
- Użytkownik bazy danych (560)
- Indeksy (561)
- Kwestie projektowe warstwy pośredniej (562)
- Uwierzytelnianie (562)
- Przechowywanie danych sesji (562)
- Kwestie związane z językiem WML (563)
- Wydajność (564)
- Implementacja (564)
- Kod aplikacji (566)
- Warstwa danych i logiki aplikacji (572)
- Karta powitalna (595)
- Rejestracja nowego użytkownika (598)
- Logowanie (599)
- Karta główna aplikacji (601)
- Przeglądanie zasobów księgarni (605)
- Przeglądanie zasobów sklepu muzycznego (607)
- Wyszukiwanie (609)
- Dodawanie pozycji do koszyka użytkownika (612)
- Przeglądanie zawartości koszyka użytkownika (614)
- Zmiana liczby sztuk poszczególnych pozycji koszyka (616)
- Zatwierdzanie zakupów (618)
- Przeglądanie informacji o koncie użytkownika (620)
- Wylogowanie (623)
- Kod aplikacji (566)
Rozdział 17. PHP i MySQL (625)
- Relacyjne bazy danych (626)
- Indeksy (627)
- Klucze (627)
- Normalizacja (629)
- Strukturalny język zapytań (631)
- Zapytania definicji danych (632)
- CREATE DATABASE (632)
- USE (633)
- CREATE TABLE (633)
- DESCRIBE (634)
- ALTER TABLE (636)
- DROP TABLE (637)
- DROP DATABASE (637)
- Zapytania manipulacji danymi (638)
- INSERT (638)
- REPLACE (638)
- DELETE (639)
- UPDATE (639)
- SELECT (640)
- Połączenia (641)
- Indeksy (642)
- Niepodzielność operacji (644)
- Zapytania definicji danych (632)
- PHP a relacyjne bazy danych (645)
- Interfejs MySQL języka PHP (645)
- Biblioteka sieciowa (651)
- Wyodrębnianie bazy danych (658)
- Warstwa abstrakcji bazy danych (660)
- Konstrukcja klasy BD (660)
- Testowanie klasy BD (664)
Rozdział 18. PHP i PostgreSQL (667)
- PostgreSQL - podstawy (668)
- Zapytania definicji danych (669)
- CREATE DATABASE (669)
- CREATE TABLE (669)
- ALTER TABLE (672)
- DROP TABLE (673)
- DROP DATABASE (673)
- Zapytania manipulacji danymi (673)
- INSERT (673)
- DELETE (674)
- UPDATE (674)
- SELECT (675)
- Zapytania definicji danych (669)
- Interfejs PostgreSQL języka PHP (676)
- Biblioteka sieciowa (683)
- Wyodrębnianie bazy danych (687)
Rozdział 19. PHP i ODBC (691)
- ODBC - historia i przeznaczenie (692)
- Architektura ODBC (693)
- Standardy SQL (694)
- Instalacja PHP i ODBC w systemie Windows (694)
- Instalacja ODBC i PHP w systemach z rodziny UNIX (695)
- Moduł serwera Apache (695)
- Interfejs ODBC języka PHP (698)
- Funkcje połączeniowe (698)
- Funkcje manipulujące metadanymi (699)
- Funkcje obsługi transakcji (702)
- Funkcje dostępu do danych i kursory (703)
- Najczęstsze problemy (706)
- Wymagania dla połączeń ODBC (708)
- MS SQL Server (708)
- MS Access (710)
- Nawiązywanie połączenia (711)
- Wyodrębnianie bazy danych (713)
- Unified ODBC (713)
- PEARDB (713)
- ADODB (714)
- Metabase (715)
- Biblioteka sieciowa (715)
Rozdział 20. Programowanie aplikacji nieserwerowych w języku PHP (721)
- Czym jest GTK? (721)
- Czym jest PHP-GTK? (722)
- Język PHP w wierszu poleceń (722)
- Konfiguracja dla systemu Linux (722)
- Biblioteka libedit (722)
- Instalacja PHP-GTK (723)
- Konfiguracja dla systemu Windows (724)
- Środowisko (724)
- Instalacja PHP-GTK (725)
- Konfiguracja dla systemu Linux (722)
- Automatyzacja zadań (726)
- Format plików dziennika NCSA CLFF (727)
- Skrypt analizatora pliku dziennika (728)
- cron (730)
- AT (731)
- Harmonogram zadań systemu Windows (731)
- Przyjmowanie parametrów wiersza poleceń (731)
- Format plików dziennika NCSA CLFF (727)
- Skrypty interaktywne (732)
- Programowanie aplikacji z użyciem PHP-GTK (734)
- PHP-GTK - podstawy (734)
- Przykład - program Hello World (737)
- Interfejs graficzny aplikacji biblioteki sieciowej (739)
- Dodatkowe źródła informacji (746)
Rozdział 21. PHP i XML (747)
- XML - przegląd (748)
- Rodzina standardów XML (750)
- XML a bazy danych (751)
- SML (752)
- Konwersja dokumentu XML na format SML (752)
- XML i PHP (754)
- Weryfikacja obsługi XML-a (754)
- Porównanie interfejsów XML (755)
- SAX a DOM (756)
- PRAX a DOM i SAX (756)
- Model SAX (756)
- Obsługa SAX w języku PHP (758)
- SAX - kod przykładowy (758)
- Model DOM (764)
- Obsługa DOM w języku PHP (764)
- DOM - kod przykładowy (766)
- Model RAX (775)
- Obsługa PRAX w języku PHP (776)
- XSL i XSLT (780)
- Sablotron (781)
- Instalacja i weryfikacja konfiguracji XSL (781)
- Instalacja w systemie UNIX (781)
- Instalacja w systemie Windows (781)
- XSL - kod przykładowy (782)
Rozdział 22. Internacjonalizacja aplikacji (787)
- Internacjonalizacja - pojęcia (787)
- Internacjonalizacja (788)
- Lokalizacja (788)
- Obsługa języka ojczystego (789)
- Motywy internacjonalizacji aplikacji (789)
- W czym tkwi problem? (790)
- Ciągi tekstowe (790)
- Ciągi statyczne (791)
- Ciągi dynamiczne (791)
- Przechowywanie ciągów (792)
- Wyodrębnienie danych tekstowych z programu (793)
- GNU Gettext (794)
- Gettext - informacje podstawowe (794)
- xgettext i inne narzędzia pomocnicze (795)
- Aktualizacja tłumaczeń (798)
- Wady biblioteki Gettext (798)
- Obiektowe rozszerzenie systemu tłumaczenia (799)
- Zalety podejścia obiektowego (799)
- Korzystanie z obiektów i przełączanie języków (800)
- Konwersja istniejących programów (800)
- Program nieprzetłumaczony (801)
- Tłumaczenie programu (801)
- Obiekty przystosowane do wielojęzyczności przekładu (804)
- Integracja klasy Wyjscie z aplikacją (806)
- Dalsze doskonalenie skryptu (808)
- Wyrażenia regularne (808)
- Wielkość liter (810)
- Lokalne formaty daty i czasu (810)
- Pozyskiwanie dodatkowych informacji lokalizacyjnych - funkcja localeconv() (813)
- Sortowanie (816)
- Własna funkcja porównująca (817)
- Kodowanie znaków (819)
- Zapisywanie locali (819)
- Przeglądarka a język (819)
- Reagowanie na konfigurację przeglądarki (821)
- Zapisywanie locali (819)
- Ciągi poszerzone (825)
- Moduł obsługi ciągów poszerzonych w języku PHP (826)
- Moduł mod_mime serwera Apache (826)
- Przykład lokalizacji rzeczywistej aplikacji - PHP Weather (826)
Rozdział 23. Bezpieczeństwo aplikacji PHP (831)
- Czym jest bezpieczeństwo? (832)
- Zabezpieczanie serwera (832)
- Zbrojenie serwera (833)
- Monitorowanie systemu (833)
- Monitorowanie powiadomień o nowych lukach (834)
- Najpowszechniejsze rodzaje zagrożeń (834)
- Zabezpieczanie serwera Apache (836)
- Dyrektywa User (836)
- Dyrektywa Directory (837)
- Zbrojenie serwera Apache (838)
- Zabezpieczanie PHP (839)
- Bezpieczeństwo instalacji PHP w trybie CGI (839)
- Konfiguracja PHP (840)
- Tryb bezpieczny (843)
- Zabezpieczanie serwera MySQL (844)
- MySQL i użytkownik root (844)
- Sprzątanie (845)
- Zarządzanie użytkownikami baz danych MySQL (846)
- Kryptografia (847)
- Szyfrowanie jednokierunkowe (847)
- Szyfrowanie symetryczne (850)
- Szyfrowanie asymetryczne (852)
- Bezpieczeństwo sieci komputerowej (852)
- Moduł mod_ssl serwera Apache (853)
- Instalacja modułu mod_ssl w systemie Linux (853)
- Instalacja modułu mod_ssl w systemie Windows (854)
- Konfiguracja modułu mod_ssl (854)
- Kiedy należy korzystać z połączeń SSL? (855)
- Moduł mod_ssl serwera Apache (853)
- Bezpieczne programowanie (855)
- Zagrożenia związane z dyrektywą register_global (856)
- Kontrola danych wprowadzanych przez użytkownika (858)
- Zagrożenia płynące z nieuprawnionego wykonania kodu HTML (859)
- Pułapki dyrektywy include (859)
- Kilka porad (860)
- Dodatkowe źródła informacji (861)
- Zabezpieczanie serwerów linuksowych (861)
- Bezpieczne powłoki (SSH) (861)
- Tripwire (861)
- Zabezpieczanie Apache (862)
- Zabezpieczanie PHP (862)
- Zabezpieczanie MySQL (862)
- Kryptografia (862)
- mod_ssl (863)
- Bezpieczne programowanie (863)
- Strony WWW poświęcone bezpieczeństwu (863)
- Pozostałe źródła (863)
Rozdział 24. Optymalizacja aplikacji PHP (865)
- Właściwy język (865)
- Wyniki testów (866)
- Optymalizacja kodu PHP (867)
- Profilowanie kodu (867)
- Profilowanie skryptów PHP (867)
- Klasyfikacja wąskich gardeł (871)
- Profilowanie kodu (867)
- Techniki optymalizacji (871)
- Optymalizacja kodu (872)
- Analiza pętli (872)
- Wykorzystanie szybszych funkcji (873)
- Wybór właściwego sposobu przekazywania danych wyjściowych (873)
- Wybór właściwego sposobu pobierania danych wejściowych (873)
- Minimalizacja liczby wywołań funkcji echo() (874)
- Wykorzystanie optymalizatora Zend Optimizer (874)
- Buforowanie i kompresja danych wyjściowych (874)
- Przykład skryptu buforującego wyjście (875)
- Funkcje obsługujące buforowanie wyjścia (875)
- Buforowanie kaskadowe (877)
- Kompresja wyjścia skryptu PHP (877)
- Optymalizacja bazy danych (878)
- Analiza zapytań (878)
- Szacowanie efektywności zapytania (878)
- Optymalizacja tabel (883)
- Optymalizacja modelu danych (883)
- Stosowanie indeksów (884)
- Optymalizacja zapytań SELECT (885)
- Optymalizacja zapytań INSERT (885)
- Optymalizacja zapytań UPDATE (886)
- Optymalizacja zapytań DELETE (886)
- Optymalizacja połączeń (886)
- Optymalizacja - wskazówki dodatkowe (887)
- Buforowanie wyników obliczeń (887)
- Czym jest buforowanie? (888)
- Waga buforowania (888)
- Zalety buforowania (888)
- Wady buforowania (888)
- Ogólna metodologia buforowania (889)
- Wybór metody składowania buforowanych danych (890)
- Konwencje nazewnicze (892)
- Kryteria poprawności (892)
- Opróżnianie bufora (893)
- Jakie dane powinny być składowane w buforach wyników? (893)
- Optymalizacja interpretera PHP (895)
- Optymalizacja kodu (872)
Rozdział 25. Biblioteki rozszerzeń języka PHP (897)
- Biblioteka PDF (898)
- Instalacja (898)
- Korzystanie z biblioteki PDFlib (899)
- Macromedia Flash (903)
- Ming i LibSWF (903)
- Korzystanie z biblioteki Ming (904)
- WAP i WML (912)
- A gdzie tu biblioteka? (913)
- Korzystanie z biblioteki HAWHAW (914)
- Tworzenie dynamicznych rysunków (918)
- Instalacja biblioteki GD (918)
- Korzystanie z biblioteki GD (919)
- Licznik odwiedzin wykonany za pomocą GD (921)
- Kod licznika odwiedzin (921)
Rozdział 26. System uprawnień użytkowników (925)
- Definicja wymagań (925)
- Wymagania aplikacji (926)
- Projektowanie aplikacji (926)
- Projektowanie schematu bazy danych (927)
- Tabela Uzytkownik (927)
- Tabela Uprawnienie (927)
- Tabela UzytkownikUprawnienie (927)
- Projektowanie warstwy pośredniczącej (927)
- Dostęp do bazy danych (928)
- Klasa Uprawnienie (928)
- Klasa Uzytkownik (928)
- Warstwa logiki aplikacji (929)
- Projektowanie warstwy prezentacji (930)
- Projektowanie schematu bazy danych (927)
- Kodowanie aplikacji (931)
- Kod obsługi bazy danych (931)
- Klasa Uprawnienie (932)
- Klasa Uzytkownik (934)
- Testowanie klas (938)
- uprawnienia.php (939)
- uzytkownikuprawnienia.php (944)
- Wykorzystanie systemu uprawnień użytkowników (950)
- Kilka propozycji rozszerzenia systemu (951)
Skorowidz (953)